SQL - 如何使用另一个表中的计数进行排序

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,它就是针对这种情况而设计的).