sql >> Base de Datos >  >> RDS >> Mysql

Consulta para encontrar los duplicados entre el nombre y el número en la tabla

Pregunta actualizada

"Obtenga duplicados tanto en número como en nombre" ... "nombre y número como columna diferente"
¡Las filas se pueden contar dos veces aquí!

SELECT lower(name), NULL AS number, count(*) AS ct
FROM   tbl
GROUP  BY lower(name)
HAVING count(*) > 1

UNION  ALL
SELECT NULL, number, count(*) AS ct
FROM   tbl
GROUP  BY number
HAVING count(*) > 1;

-> sqlfiddle

Pregunta original

El problema es que la consulta agrupa por

GROUP  BY lower(name), number

Como las filas 3 y 4 tienen una diferente number , no son los mismos para esta consulta.

Si desea ignorar diferentes números para esta consulta, intente algo como:

SELECT lower(name)
     , count(*) AS ct
FROM   tbl
GROUP  BY lower(name)
HAVING count(*) > 1;