2

投票された回数で並べ替えられたアイテムの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
4

2 に答える 2

2
SELECT * FROM 
(SELECT `IdOfPhotoVotedOn`, COUNT(`IdOfPhotoVotedOn`) 'Votes' 
FROM `CompetitionVotes` 
WHERE 1
GROUP BY `IdOfPhotoVotedOn`) A
ORDER BY A.Votes DESC;  
于 2012-04-13T16:13:17.040 に答える
2

これを試して?

SELECT `IdOfPhotoVotedOn`, COUNT(`IdOfPhotoVotedOn`) 'Votes' 
FROM `CompetitionVotes` 
WHERE 1
GROUP BY `IdOfPhotoVotedOn`
ORDER BY COUNT(`IdOfPhotoVotedOn`) DESC, `IdOfPhotoVotedOn`
于 2012-04-13T16:13:30.503 に答える