Den*_*kov 21 mysql sql sql-order-by
博主
blogger_id
1
2
3
Run Code Online (Sandbox Code Playgroud)
2.帖子
post_from_blogger_id
1
1
1
2
2
3
Run Code Online (Sandbox Code Playgroud)
正如你可以看到博客№1发布超过其他人和博客№3少.问题是如何构建一个选择所有博主的查询,并根据帖子的数量对它们进行排序?
Lar*_*tig 46
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
Run Code Online (Sandbox Code Playgroud)
(注意:MySQL具有特殊的语法,可以让你在不聚合所有值的情况下进行GROUP BY,它就是针对这种情况而设计的).