2017-07-28 91 views
0

我有这个表查询选择最大

+----+-----+---------+ 
| 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“2”之前的id2和最后一个id2“5”。

对不起,我的不好解释,但我不知道如何做到这一点。

预先感谢您的宝贵时间

回答

0
select id2 
from mytable 
where correct = 0 
group by id2 
order by count(*) desc 

如果你也想包括没有正确的答案IDS:

select id2 
from mytable 
group by id2 
order by sum(correct = 0) desc