我有一个任务要计算评论计数>x的用户数量。
我的SQL查询如下所示:

SELECT users.id,
       users.display_name,
       (SELECT COUNT(*)
          FROM cms_comments
         WHERE cms_comments.author_id = users.id) AS comments_count
  FROM users
HAVING comments_count > 150;

一切正常,它正确地显示了所有用户。但我需要查询返回所有这些用户的数量(只有一行)。我不知道如何更改此查询以使其生成正确的数据。

最佳答案

我想这就是你要找的:

select count(*) from (
    select u.id from users u
    join cms_comments c on u.id = c.author_id
    group by u.id
    having count(*) > 150
) final

10-06 16:21
查看更多