SQL:查找评论数最多的用户

标签 sql mysql

我需要找出发表评论最多的用户。有两个表 1)users(Id, DisplayName) 2)comments(Id, UserId, test) 。我使用了以下查询

Select DisplayName from users INNER JOIN (Select UserId, max(comment_count) as `max_comments from (Select UserId, count(Id) as comment_count from comments group by UserId) as` T1) as T2 ON users.Id=T2.UserId

但是,这会返回 Id = 1 的用户的显示名称,而不是我想要的。我该如何解决这个问题?

最佳答案

SELECT TOP 1
 U.DisplayName,
 COUNT(C.ID) AS CommentCount
FROM
 Users AS U
 INNER JOIN Comments AS C ON U.ID = C.UserID
GROUP BY
 U.DisplayName
ORDER BY
 COUNT(C.ID) DESC

关于SQL:查找评论数最多的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1952123/

相关文章:

mysql - 查询以从新闻提要中获取评论

SQL Server,将秒转换为分钟、小时、天

sql - T-SQL - 按最近日期选择并按 ID 分组

mysql - 如何在 MySQL 中找到更好的电影评分的平均值

mySQL 运行查询真的很慢 - 60 秒

php - MySQL 查询,使 ORDER BY rand() 将特定行放在底部

php - $_POST 无法运行 PHP(没有错误)

php - MySQL 和 PHP 的余弦球面定律结果不同

php - 我想创建一个 php 语句来同时检查 2 个表

mysql - 哪个子查询更快?