mysql - 按第二个表中的匹配项选择顺序

标签 mysql sql

我在尝试根据投票次数来选择项目 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/

相关文章:

mysql - GROUP_CONCAT mysql语句错误

mysql - 选择字段中没有特定值的事件

php - LEFT JOIN 选择条件

mysql - MySQL 中的 CHECK 约束不起作用

php - 有问题的 PHP-MySQL 注册表单

mysql - 在对索引列进行排序时,如何避免在具有大表的 MySQL 中选择糟糕的执行计划?

java - 通过调用 Java 方法为 H2 数据库中的新行生成默认值

mysql - 每天的 SQL 计数最大值(计数字符串)

php - Rails 中的脏方法相当于 PHP Codeigniter 中的脏方法

java - hibernate 查询: Get data for Class from joined tables