当前位置: 代码迷 >> Sql Server >> sql查询中case when的使用解决思路
  详细解决方案

sql查询中case when的使用解决思路

热度:67   发布时间:2016-04-27 14:02:05.0
sql查询中case when的使用
现在有个表
userid truename ..
(null)
 0 员工1
 0 员工2 
 1 张三
 1 张三
 2 李四

现在要 group userid count 返回truename和count结果 ,如果为0的truename就统一为 “一般”,为null的就统一为 “特殊”

结果应该是 
truename countnum
特殊 1
一般 2 
张三 2
李四 1


求助

------解决方案--------------------
SQL code
declare @T table (userid int,truename varchar(5))insert into @Tselect null,null union allselect 0,'员工1' union allselect 0,'员工2' union allselect 1,'张三' union allselect 1,'张三' union allselect 2,'李四'select case when userid=0 then '一般' else isnull(truename,'特殊') end as truename,count(1) as countnum from @t group by case when userid=0 then '一般' else isnull(truename,'特殊') END/*truename countnum-------- -----------李四       1特殊       1一般       2张三       2*/
  相关解决方案