样本记录:
examid setcode answer
------- -------- --------
10 A A
10 A B
10 A X
10 B A
10 B B
10 B C
我试图按答案是X的setcode查找计数组。
我尝试了以下查询:
SELECT setCode,COUNT(answer) FROM mcq_answer WHERE examid=10 AND answer='X' GROUP BY setCode
这将返回以下结果:
setcode count
------- --------
A 1
但我正在寻找以下内容:
setcode count
------- --------
A 1
B 0
Setcode在这里是动态的。我只提到了A和B。可能有更多的setocdes,例如C,D,E,F等。我该怎么做。我正在使用
MySQL
最佳答案
您可以使用SUM + IF
获得以下结果:
SELECT `setCode`, SUM(if (`answer`='X', 1,0)) as answer
FROM `mcq_answer`
WHERE examid=10
GROUP BY `setcode`
关于mysql - 当MySQL分组中不满足条件时显示计数0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47852299/