Zaktualizowane pytanie
„Zdobądź duplikat zarówno dla numeru, jak i dla nazwiska” ... „nazwisko i numer w innej kolumnie”
Wiersze można tutaj policzyć dwukrotnie!
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;
Pierwotne pytanie
Problem polega na tym, że zapytania grupują się według
GROUP BY lower(name), number
Ponieważ wiersze 3 i 4 mają różne number
, nie są takie same dla tego zapytania.
Jeśli chcesz zignorować różne liczby dla tego zapytania, wypróbuj coś takiego:
SELECT lower(name)
, count(*) AS ct
FROM tbl
GROUP BY lower(name)
HAVING count(*) > 1;