Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta para encontrar as duplicatas entre o nome e o número na tabela

Pergunta atualizada


"Obter duplicado no número e no nome" ... "nome e número como coluna diferente"
As linhas podem ser contadas duas vezes aqui!
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

Pergunta original


O problema é que os grupos de consulta por
GROUP  BY lower(name), number

Como as linhas 3 e 4 têm um diferente number , eles não são os mesmos para esta consulta.

Se você quiser ignorar números diferentes para esta consulta, tente algo como:
SELECT lower(name)
     , count(*) AS ct
FROM   tbl
GROUP  BY lower(name)
HAVING count(*) > 1;