SQL: поиск пользователя с наибольшим количеством комментариев

0

Мне нужно узнать пользователя, разместившего наибольшее количество комментариев. Есть две таблицы: 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, а не то, что я хочу. Как мне обойти это?

Теги:

1 ответ

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
  • 0
    Спасибо ... Я использовал MySql и должен был использовать «LIMIT 1» вместо «TOP 1»

Ещё вопросы

Сообщество Overcoder
Наверх
Меню