读书人

简单统计?解决方案

发布时间: 2012-01-26 19:40:46 作者: rapoo

简单统计??
买家 区域 板块 月份
----------- -------- -------- -----------
1 闵行区 人民广场 3
1 宝山区 人民广场 3
2 宝山区 人民广场 3
2 浦东新区 人民广场 3
3 浦东新区 人民广场 3
1 闵行区 人民广场 3
5 闵行区 人民广场 3
4 浦东新区 人民广场 3
2 闵行区 南京西路 3
1 闵行区 南京西路 3
1 闵行区 南京西路 3
7 闵行区 南京西路 3
7 浦东新区 南京西路 3
期望结果
a b(个数)
-----------------------
首次出现 3(3,4,5)
出现2次 1(7)
出现3次 1(2)


出现4次以上 1(1)



[解决办法]
这个比较麻烦

大概:
select case when cnt=1 then N '首次出现 ' when cnt> =4 then N '出现4次以上 ' else N '出现 '+cast(cnt as varchar)+ '次 ' end as a,
,cast(count(*) as varchar)+ '( '+dbo.fn(cnt)+ ') ' as b
from (
select 买家,count(*) as cnt
from tablename group by 买家
) as t
group by cnt

其中dbo.fn是个函数

读书人网 >SQL Server

热点推荐