小编典典

计数Mysql表中的重复记录?

mysql

我有桌子,下面的结构。

tbl

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

select count(name) c from tbl
group by name having c >1

查询返回以下结果:

AAA(2)  duplicate
BBB(3)  duplicate
CCC(1)  not duplicate

与AAA和BBB重复的名称。我想要的最终结果是此重复记录的计数。

结果应该是这样的:共有重复产品( 2


阅读 323

收藏
2020-05-17

共1个答案

小编典典

该方法是使用一个嵌套查询,每个重复项有一行,而一个外部查询仅返回内部查询结果的计数。

SELECT count(*) AS duplicate_count
FROM (
 SELECT name FROM tbl
 GROUP BY name HAVING COUNT(name) > 1
) AS t
2020-05-17