如何计算MySQL列中重复条目的数量

Mit*_*nee 0 mysql count

我在MySQL表中有两列:

bname和count

 bname           count        
----------      ----------


 Blah              2

 Blah              2

 huh               3

 lol               1

 huh               3

 huh               3
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西.我已经创建了count列但我不知道如何像上面的例子一样显示它.count列当前为空.

ppe*_*rka 6

你应该使用这个好老组...

select bname, count(*) 
from mytable 
group by bname
Run Code Online (Sandbox Code Playgroud)

这会按唯一值对行进行分组,并提供每个组的行数.

如果你想将它存储在你的表中:

UPDATE myTable updated
JOIN (select bname, count(*) as cnt 
    from mytable 
    group by bname) aggregate 
  ON updated.bname= aggregate.bname
set `count`= aggregate.cnt 
Run Code Online (Sandbox Code Playgroud)

注意反引号,我想你需要这个

这应该将所有行设置为各自的重复计数.

SQL小提琴在这里