我正在尝试选择具有 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/