是否有可能在一个查询中有这样的东西,
计算某个 ID 的点赞数image_likes
,然后按点赞数images
降序排列结果。
select * from (SELECT *,(SELECT COUNT(*) as count from image_likes il WHERE ID = i.ID)
FROM images) tbl ORDER BY COUNT
未经测试
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