是否可以在一个查询中有这样的东西,
计算某个 ID 在image_likes
中有多少个赞,然后按images
的点赞数降序排列结果。
SELECT
*
FROM
`images`
ORDER BY
(SELECT COUNT(`id`) FROM `image_likes` WHERE `image_id`=images.`id`) ASC
(我当然已经编造了字段名称,但这种格式应该有效)
如果可能,您可能希望更改系统的工作方式,以便仅从字段名称中读取总喜欢数,而不是执行子选择。
未经测试
select imageid, count(imageid) from image_likes
Group by imageid
Order by Count(imageid) desc
select * from (SELECT *,(SELECT COUNT(*) as count from image_likes il WHERE ID = i.ID)
FROM images) tbl ORDER BY COUNT
未经测试