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

标签 sql mysql sql-order-by

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/

相关文章:

php - 基于时间戳组织数据 mysql + PHP

Mysql - 联合两个查询与 "where in"子查询

mysql - 如何从表中选择最新行

mysql - 为什么对行进行排序会减少解释中的行数?

php - MySQL 将多行连接成一列

sql - 如果一行存在,Postgres 加入并返回标志

MySql查询语法错误DATE_SUB

MySQL:一对多表上的条件查询

php - 需要执行两次ORDER BY,排名有问题

SQL 连接条件