我正在尝试根据用户表在辅助注释表中链接到它们的注释数对用户表进行排序,我认为子选择将是最好的工具,但无法获得正确的语法。
用户表测试数据:

id | user_id
1  | 1000
2  | 1001
3  | 1002

注释表testdata
id | link_id
1  | 1002
2  | 1000
3  | 1002
4  | 1000
5  | 1002
6  | 1001
7  | 1000
8  | 1002

第一个表中的预期排序结果为:
id | user_id
3  | 1002
1  | 1000
2  | 1001

任何朝正确方向的推动都会非常有帮助,谢谢!=)

最佳答案

实际上,不需要使用子查询。您可以按计数使用联接和顺序:

SELECT
    users.user_id, COUNT(comments.id) as total_messages
FROM
    users
INNER JOIN
    comments ON comments.link_id = users.id
GROUP BY
    user_id
ORDER BY
    COUNT(comments.id) DESC

10-05 23:20