比如 今天是2015-03-14日
table a
id date
1 2015-03-14
2 2015-03-14
3 2015-03-13
4 2015-03-13
5 2015-03-13
6 2015-03-12
7 2015-03-12
8 2015-03-11
9 2015-03-10
10 2015-03-09
11 2015-03-08
我想得到 今日(2015-03-14) 2单
昨日(2015-03-13) 3单
3日到5日 5单
5日开外 1单
------解决思路----------------------
select meno,count(meno) as [单数],convert(varchar(10),count(meno))+'单' as [单数]
from(
select id,
case
when [date]=convert(varchar(10),GETDATE(),120) then '今日('+convert(varchar(10),GETDATE(),120)+')'
when [date]=convert(varchar(10),GETDATE()-1,120) then '昨日('+convert(varchar(10),GETDATE()-1,120)+')'
when [date]>=convert(varchar(10),GETDATE()-4,120) and [date]<=convert(varchar(10),GETDATE()-2,120) then '3日到5日'
when [date]<=convert(varchar(10),GETDATE()-5,120) then '5日开外'
end as meno
from #temp
) as tab
group by meno
order by min(id)