Contar Duplicados en MySQL
Supongamos que tenemos la siguiente estructura en una tabla sql
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
al ejecutar esta query obtendremos el siguiente resultado:
AAA(2) duplicate BBB(3) duplicate CCC(1) not duplicate
Los nombres que son duplicados son AAA y BBB. Supongamos que el resultado inal que necesitamos es el total de duplicados en esa tabla en este caso seria 2 (AAA y BBB) para lograr este resultado debemos ejecutra la siguiente query
SELECT count(*) AS duplicate_count FROM ( SELECT name FROM tbl GROUP BY name HAVING COUNT(name) > 1 ) AS t
Esta query lo que hace es hacer un count de los resultados de la query interna.