是否可以在一个查询中包含这样的内容,
计算某个ID在image_likes
中有多少匹配,然后根据images
的结果来排序结果。
答案 0 :(得分:0)
SELECT
*
FROM
`images`
ORDER BY
(SELECT COUNT(`id`) FROM `image_likes` WHERE `image_id`=images.`id`) ASC
(我当然会编写字段名称,但这种格式应该有用)
如果可能,您可能希望更改系统的工作方式,以便您只需从字段名称中读取总喜欢,而不是进行子选择。
答案 1 :(得分:0)
未测试
select imageid, count(imageid) from image_likes
Group by imageid
Order by Count(imageid) desc
答案 2 :(得分:0)
select * from (SELECT *,(SELECT COUNT(*) as count from image_likes il WHERE ID = i.ID)
FROM images) tbl ORDER BY COUNT
未测试