显示计数以及mysql中的重复行

时间:2019-07-10 13:06:48

标签: mysql sql database

我想显示重复的行以及它在mysql表中重复出现的次数。 例如,我们有一个表:

user_id   course_id 
   01         33
   01         44
   02         55
   02         66
   02         77

我想显示如下结果:

    user_id   course_id   count
   01         33            02
   01         44            02 
   02         55            03
   02         66            03  
   02         77            03

这可能是一个非常简单的查询,但是我没有弄对它。当我使用count(user_id)时,它询问group_by,否则查询将引发错误。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

对mysql 8.0和sql server使用窗口功能

select *,count(user_id) over()
from table 

对于mysql 8的较低版本

 select t1.*,( select count(user_id) 
          from table t2 where t1.user_id=t2.user_id) as cunt    
from table t1