首页 > 解决方案 > 如何通过从第二个表中重复列值来对一个表中的记录进行排序

问题描述

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_id是 的外键user_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_idwith value2和一次 with value 1。我正在尝试像这样订购结果:

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

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

标签: mysql

解决方案


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


推荐阅读