表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_id
的值为2
,一次为1
。
我正在尝试像这样订购结果:
user_contest_image.id user_contest_image.filename
2 image_2.png
1 image_1.png
我没有提供工作示例,因为我真的不知道该怎么做。
答案 0 :(得分:2)
加入表格,按图像ID分组,添加COUNT(image_vote.id)
字段,然后按该字段排序。
答案 1 :(得分:1)
查看数据似乎需要图像投票的订购结果
select user_contest_image.id , filename
from user_contest_image
inner join image_vote on image_vote.image_id = user_contest_image.id
group by user_contest_image.id, user_contest_image.file_name
order by count(image_vote.image_id) DESC