查询选择最大值

时间:2017-07-28 21:00:52

标签: mysql select max sql-order-by

我有这张表

+----+-----+---------+
| 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"作为最后一个。

对不起我的错误解释,但我不清楚如何做到这一点。

提前感谢您的时间

1 个答案:

答案 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