SQL 选择 MAX(COUNT)

标签 sql

我正在尝试选择具有 MAX 微博计数的用户:

SELECT "name", count(*) FROM "users" 
  INNER JOIN "microposts" ON "microposts"."user_id" = "users"."id"
  GROUP BY users.id

这返回
"Delphia Gleichner";15
"Louvenia Bednar IV";10
"Example User";53
"Guadalupe Volkman";20
"Isabella Harvey";30
"Madeline Franecki II";40

但我只想选择 "Example User";53 ,(拥有 MAX 条微博的用户)

我尝试添加 HAVING MAX(count*)但这没有用。

最佳答案

我会尝试使用 ORDER BY max DESC LIMIT 1,其中最大值是 count(*) 字段。就像是:

SELECT "name", count(*) maximum FROM "users" 
   INNER JOIN "microposts" ON "microposts"."user_id" = "users"."id" 
GROUP BY users.id 
ORDER BY maximum DESC 
LIMIT 1

我现在没有可用的 mysql,所以我在纸上做这个(它可能不起作用),但这只是一个方向。

关于SQL 选择 MAX(COUNT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19089013/

相关文章:

mysql - 如何优化没有记录的日期的匹配日期范围表?

c++ - 如何在另一个表中使用表的最后插入的 id

php - 如何防止PHP中的SQL注入(inject)?

mysql - SQL:仅从词法排序表中选择第一行

mysql - 在 SQL 数据库中存储动态字段

php - QL_CALC_FOUND_ROWS pdo?

sql - 创建 PostgreSQL 表 + 关系 - 关系问题 - 一对一

sql - sql中最好的数据转换方法是什么

mysql - MySQL中没有子查询字段的模式计算?

sql - 在数据库表中查找循环事务