当前位置: 代码迷 >> Sql Server >> 一个分类汇总的查询语句解决办法
  详细解决方案

一个分类汇总的查询语句解决办法

热度:78   发布时间:2016-04-27 14:32:27.0
一个分类汇总的查询语句

姓名 类型
小王 A
小王 C
小红 B
李四 A
张三 C
小王 C
小王 B
小王 C
小红 C 
李四 C
  

要求结果
姓名 A B C
小王 1 1 3
小红 0 1 1
李四 1 0 1
张三 0 0 1

select 姓名,SUM(类型) as 'A',sum(类型) as 'B',SUM(类型) AS 'C' 
from 表 where 类型='A'OR 类型='B' OR 类型='C' 
group by 姓名

我这样写但查出来的不是我想要的 ,求解答。。本人初学者,说的详细点 谢谢

------解决方案--------------------
SQL code
select 姓名,SUM((case when 类型='A' then 1 else 0 end)) as 'A',            SUM((case when 类型='B' then 1 else 0 end)) as 'B',              SUM((case when 类型='C' then 1 else 0 end)) as 'C'from 表 group by 姓名
------解决方案--------------------
SQL code
select 姓名,       sum(case when 类型='A' then 1 else 0 end) A,       sum(case when 类型='A' then 1 else 0 end) B,       sum(case when 类型='A' then 1 else 0 end) Cfrom tbgroup by 姓名
  相关解决方案