Мне нужно узнать пользователя, разместившего наибольшее количество комментариев. Есть две таблицы: 1) пользователи (Id, DisplayName) 2) комментарии (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