sql超难的统计 ( 积分: 100 )

  • 主题发起人 主题发起人 wabb
  • 开始时间 开始时间
W

wabb

Unregistered / Unconfirmed
GUEST, unregistred user!
段:城市id, kind
字段说明: 城市id为数字,kind为string(共4种:A,B,C,D, 4种数据)
比如有一下4条数据:
城市id kind
11 A
22 D
5 B
7 A
12 C
12 A
67 B

想统计某个城市的类型A, B, C, D的个数及总数,做成报表,如下:

城市 ¦ A ¦ B ¦ C ¦ D ¦ 总计
___________________________________________________________
某市 6 12 2 8 (前面4个数值的总和)


还有如果想按所有的城市id来统计又怎么写SQL呢?


我用的数据库支持SQL-92标准
 
select 城市id,
sum(case kind when 'A' then 1 else 0 end) ['A'],
sum(case kind when 'B' then 1 else 0 end) ['B'],
sum(case kind when 'C' then 1 else 0 end) ['C'],
sum(case kind when 'D' then 1 else 0 end) ['D'],
count(1) [总计]
from tb
group by 城市id
 
ok,给分!
 
接受答案了.
 
后退
顶部