关于CASE WHEN的多条件汇总问题
https://bbs.csdn.net/topics/392217817?page=1
问题:
--创建测试表 IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TB]') AND type in (N'U')) DROP TABLE [dbo].[TB1] GO CREATE TABLE [dbo].[TB1]( [卡状态] [nvarchar] (20) NULL, [卡类型] [nvarchar](50) NULL, ) ON [PRIMARY] GO --插入测试数据 INSERT INTO [TB1] ([卡状态],[卡类型]) SELECT N'发卡',N'正式卡' UNION ALL SELECT N'发卡',N'正式卡' UNION ALL SELECT N'发卡',N'临式卡' UNION ALL SELECT N'制卡',N'临式卡' UNION ALL SELECT N'制卡',N'正式卡' GO SELECT * FROM TB1
回帖:
SELECT 卡状态 + '数' , COUNT(1) AS 总数 , SUM(CASE WHEN 卡类型 = '正式卡' THEN 1 ELSE 0 END) AS 正式卡 , SUM(CASE WHEN 卡类型 = '临式卡' THEN 1 ELSE 0 END) AS 临式卡 FROM TB1 GROUP BY 卡状态
作者:习惯沉淀
如果文中有误或对本文有不同的见解,欢迎在评论区留言。
如果觉得文章对你有帮助,请点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
扫码关注一线码农的学习见闻与思考。
回复"大数据","微服务","架构师","面试总结",获取更多学习资源!