如何解决如何将2个条件计数查询合并为一个查询?
我想将这两个查询结合起来以获得相同的结果。
代码如下:
SELECT
Rollnumber,PapersetName,COUNT(*) as 'Wrongattempt'
FROM Student_data
WHERE Qs = 0
GROUP BY Rollnumber,PapersetName
SELECT
Rollnumber,COUNT(*) as 'Correct'
FROM Student_data
WHERE Qs = 1
GROUP BY Rollnumber,PapersetName
解决方法
尝试一下:
SELECT Rollnumber,PapersetName,SUM(IIF(Qs = 1,1,0)) AS 'Correct',SUM(IIF(Qs = 0,0)) AS 'Wrongattempt'
FROM Student_data
GROUP BY Rollnumber,PapersetName;
如果您使用的是其他版本的SQL Server,则不支持SQL Server 2012+和IIF
函数,可以像这样使用CASE WHEN
:
SELECT Rollnumber,SUM(CASE WHEN Qs = 1 THEN 1 ELSE 0 END) AS 'Correct',SUM(CASE WHEN Qs = 0 THEN 1 ELSE 0 END) AS 'Wrongattempt'
FROM Student_data
GROUP BY Rollnumber,PapersetName;
,
感谢@Akina和@gotqn在此方面的帮助...这是答案
SELECT Rollnumber,COUNT(CASE WHEN Qs = 1 THEN 1 END) AS 'Correct',COUNT(CASE WHEN Qs = 0 THEN 1 END) AS 'Wrongattempt'
FROM DB_name
GROUP BY Rollnumber,PapersetName;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。