我有这张表
+----+-----+---------+
| id | id2 | correct |
+----+-----+---------+
| 1 | 5 | 0 |
| 2 | 4 | 0 |
| 3 | 5 | 1 |
| 4 | 5 | 1 |
| 5 | 4 | 0 |
| 6 | 2 | 1 |
| 7 | 4 | 0 |
| 8 | 2 | 0 |
| 9 | 2 | 0 |
| 10| 5 | 1 |
| 11| 5 | 1 |
+----+-----+---------+
我需要选择id2排序最多值的时间"正确"回答" 0"每个id2都会出现。
我举个例子。
id2:2 - 出现3次,3次出现2次,正确的是" 0"。
id2:4 - 出现3次,3次出现3次,正确的是" 0"。
id2:5 - 出现5次,5次中有1次正确的" 0"。
所以我想订购id2" 4"在" 2"的id2之前,以及id2" 5"作为最后一个。
对不起我的错误解释,但我不清楚如何做到这一点。
提前感谢您的时间
答案 0 :(得分:0)
select id2
from mytable
where correct = 0
group by id2
order by count(*) desc
如果您还想要包含没有正确答案的ID:
select id2
from mytable
group by id2
order by sum(correct = 0) desc