我在尝试根据投票次数来选择项目 ID 时遇到了一些麻烦。 投票保存在单独的表中,但顺序不正确。
谁能指出哪里出了问题吗?
表CompetitionEntries
(未在查询中使用,但可能相关)
id | PhotoTitle
=======================
23 | 'Photo 1'
24 | 'Photo 2'
25 | 'Photo 3'
26 | 'Photo 4'
=======================
表CompetitionVotes
id | IdOfPhotoVotedOn
=======================
10 | 23
11 | 24
12 | 22
13 | 22
14 | 22
15 | 24
=======================
我正在尝试使用下面所示的语句”
SELECT `IdOfPhotoVotedOn`, COUNT(`IdOfPhotoVotedOn`) 'Votes'
FROM `CompetitionVotes`
WHERE 1
GROUP BY `IdOfPhotoVotedOn`
ORDER BY 'Votes' DESC, `IdOfPhotoVotedOn`
我得到的是
IdOfPhotoVotedOn | Votes
==========================
22 | 3
23 | 1
24 | 2
我想得到的是
IdOfPhotoVotedOn | Votes
==========================
22 | 3
24 | 2
23 | 1
最佳答案
试试这个?
SELECT `IdOfPhotoVotedOn`, COUNT(`IdOfPhotoVotedOn`) 'Votes'
FROM `CompetitionVotes`
WHERE 1
GROUP BY `IdOfPhotoVotedOn`
ORDER BY COUNT(`IdOfPhotoVotedOn`) DESC, `IdOfPhotoVotedOn`
关于mysql - 按第二个表中的匹配项选择顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144387/