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;