您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> MSSQL >> 求助一个group by 汇总的sql写法

求助一个group by 汇总的sql写法(2/2)

来源:网络整理     时间:2017/6/30 0:46:51     关键词:

关于网友提出的“ 求助一个group by 汇总的sql写法”问题疑问,本网通过在网上对“ 求助一个group by 汇总的sql写法”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 求助一个group by 汇总的sql写法
解决方案3:

把楼上的改了一下


if not object_id(N'Tempdb..#test') is null
    drop table #test
Go
GO
CREATE TABLE #test(日期 datetime,姓名 NVARCHAR(20),检查项目 nvarchar(20),是否合格 nchar(1))
SET NOCOUNT ON
INSERT INTO #test(日期,姓名 ,检查项目 ,是否合格)
SELECT '2017-06-10','张三','项目1','是' union all
SELECT '2017-06-10','张三','项目2','否' union all
SELECT '2017-06-10','张三','项目3','是' union all
SELECT '2017-06-10','张三','项目4','是' union all
SELECT '2017-06-10','张三','项目5','是' union all
SELECT '2017-06-10','张三','项目6','是' union all
 
SELECT '2017-06-10','李四','项目1','是' union all
SELECT '2017-06-10','李四','项目2','是' union all
SELECT '2017-06-10','李四','项目3','是' union all
SELECT '2017-06-10','李四','项目4','否' union all
SELECT '2017-06-10','李四','项目5','是' union all
SELECT '2017-06-10','李四','项目6','是' union all
 
SELECT '2017-06-11','张三','项目1','是' union all
SELECT '2017-06-11','张三','项目2','是' union all
SELECT '2017-06-11','张三','项目3','是' union all
SELECT '2017-06-11','张三','项目4','是' union all
SELECT '2017-06-11','张三','项目5','是' union all
SELECT '2017-06-11','张三','项目6','是'
SELECT [日期],
       COUNT(DISTINCT 姓名)  AS [检查人数],
       SUM(CASE WHEN [是否合格] = 0 THEN 1 ELSE 0 END) AS [合格],
       SUM(CASE WHEN [是否合格] > 0 THEN 1 ELSE 0 END) AS [不合格]
FROM   (
           SELECT [姓名],
                  [日期],
                  COUNT(DISTINCT 姓名) AS [检查人数],
                  SUM(CASE WHEN [是否合格] = '是' THEN 0 ELSE 1 END) AS [是否合格]
           FROM   #test
           GROUP BY
                  [姓名],
                  [日期]
       )                      a
GROUP BY
       [日期]

 求助一个group by 汇总的sql写法
以上介绍了“ 求助一个group by 汇总的sql写法”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4378136_2.html

相关图片

相关文章