mysql - 显示全部并计算重复 MySQL

标签 mysql count group-by

我有这张表:

id   name  
1    AAA
2    BBB
3    BBB
4    BBB
5    AAA
6    CCC

我怎样才能得到这个?

id   name  count
1    AAA     2
2    BBB     3
3    BBB     3
4    BBB     3
5    AAA     2
6    CCC     1

我想计算重复项(名称),获取所有行,而不对其进行分组。

谢谢。

最佳答案

您可以使用相关子查询:

SELECT id, name, (SELECT COUNT(*)
                  FROM mytable AS t1
                  WHERE t1.name = t2.name) AS cnt
FROM mytable AS t2       

Demo here

关于mysql - 显示全部并计算重复 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30777978/

相关文章:

mysql - 在两列上联接表

php - 如何使用group by统计mysql数据

mysql - mysql 中按值等于 0 或不存在的行的行进行分组?

c - 使用 strchr() 计算字符串中字符的出现次数

linq - 使用 Linq 的 GROUP BY 创建组列表时,如何通过键选择特定组?

Mysql复杂的从4张表中选择查询

php - 缓存控制与 mysqli->affected_rows 混淆

mysql - WHERE 或 JOIN 中的条件?

R 如何计算数据框多列中值的出现次数,并将特定值的按列计数保存为新行?

php - Count/Group By/Order By 只显示最常见值的计数而不是字符串本身