1.博主
blogger_id
1
2
3
<强>2。帖子
post_from_blogger_id
1
1
1
2
2
3
如您所见,博主 №1 发布的内容比其他博主多,而博主 №3 的发帖量更少。问题是 如何构建一个查询来选择所有博主并按帖子数量对其进行排序?
最佳答案
SELECT bloggers.*, COUNT(post_id) AS post_count
FROM bloggers LEFT JOIN blogger_posts
ON bloggers.blogger_id = blogger_posts.blogger_id
GROUP BY bloggers.blogger_id
ORDER BY post_count
(注意:MySQL 具有特殊的语法,可让您在不聚合所有值的情况下进行 GROUP BY,它正是为这种情况而设计的)。
关于SQL - 如何使用另一个表中的计数进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4784545/