读书人

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

发布时间: 2012-03-31 13:13:26 作者: rapoo

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*/ 

读书人网 >SQL Server

热点推荐