mysql - 如何通过重复第二个表中的列值来对一个表中的记录进行排序

标签 mysql

user_contest_image:

+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| user_id  | int(11)      | YES  | MUL | NULL    |                |
| filename | varchar(255) | YES  |     | NULL    |                |
| title    | varchar(255) | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

image_vote:

+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| image_id | int(11)      | YES  | MUL | NULL    |                |
| ip       | varchar(255) | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

image_vote.image_iduser_contest_image.id 的外键。 我正在尝试从 user_contest_image 获取所有记录,并按相关 image_vote.image_id 的重复顺序对它们进行排序。

示例数据:

user_contest_image

id  user_id  filename     title
1   1        image_1.png  imageTitle1
2   2        image_2.png  imageTitle2

image_vote

id  image_id  ip
1   2         127.0.0.1
2   1         127.0.0.1
3   2         127.0.0.1

两次 image_id 的值为 2,一次为 1。 我正在尝试这样排序结果:

user_contest_image.id user_contest_image.filename
2                     image_2.png
1                     image_1.png

我没有提供我的工作示例,因为我真的不知道我应该怎么做。

最佳答案

加入表格,按图像 ID 分组,添加 COUNT(image_vote.id) 字段,并按该字段排序。

关于mysql - 如何通过重复第二个表中的列值来对一个表中的记录进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155866/

相关文章:

java - 使用 JdbcTemplate 将关系数据库映射到每个包含一个 List<Object> 的 List<Object>

php - 模型代码点火器上的查询数组

mysql - 来自多个表 MySql 的单个查询

mysql - CodeIgniter - ses_destroy() 使用大量 CPU

mysql - 我怎样才能在where select中返回2行?

MySQL查询性能极限?

mysql - 错误 2003 (HY000) : Can't connect to MySQL server on 'xxx.xxx.xx.xx' (10060)

mysql - 返回 MySQL 中同一天的所有行

MySQL 表索引

mysql - 如何在 mysql 中使用关系时获取行数