我有下表,我想显示所有名称以及user_id,其中唯一的user_id计数> 3。

user_id  names
--------------
701      Name1
701      Name2
701      Name3
701      Name4
702      Name5
702      Name6
703      Name7
703      Name8


例如:

在上表中,只有user_id 701具有三个以上的名称。所以我的输出应该像这样

    user_id    names
    ---------------
    701        Name1
    701        Name2
    701        Name3
    701        Name4


我尝试了以下查询,但未获得预期结果:

SELECT user_id,names FROM table GROUP BY user_id HAVING count(user_id) > 3


该查询仅显示预期输出的第一行。

最佳答案

试试这个

select user_id, names
  from table
 where user_id in (select user_id
                     from table
                    group by user_id
                   having count(*) > 3)

09-25 17:14