根据另一个表中的行数对mysql表进行排序
我试图根据用户在辅助评论表中链接到的评论数量对用户表进行排序,我认为子选择将是最好的工具,但我无法获得正确的语法。
用户表 testdata:
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
任何朝正确方向的推动都将非常有帮助,谢谢! =)
I'm trying to sort a user table based on how many comments they have linked to them in a secondary comment-table, I figured a sub-select will be the best tool but I can't get the syntax correct.
Users table testdata:
id | user_id
1 | 1000
2 | 1001
3 | 1002
Comment table testdata
id | link_id
1 | 1002
2 | 1000
3 | 1002
4 | 1000
5 | 1002
6 | 1001
7 | 1000
8 | 1002
Expected sorted result in the first table would be:
id | user_id
3 | 1002
1 | 1000
2 | 1001
Any push in the right direction would be extremly helpful, thanks! =)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
事实上,没有必要使用子查询。您可以使用 JOIN 和 ORDER BY 计数:
In fact, there is no need to use a sub-query. You can use a JOIN and ORDER BY the count:
只是一个带有计数()的连接,然后按计数()进行排序就可以了
-ace
just a join, with a count(), and then an order by the count() should do it
-ace
这将允许您添加来自
用户
的其他列,而无需对所有列进行分组
。This would allow you to add other columns from
users
without having togroup by
them all.