Актуализиран въпрос
"Вземете дубликат както за номер, така и за име" ... "име и номер като различна колона"
Тук редовете могат да се преброят два пъти!
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;
Оригинален въпрос
Проблемът е, че заявката се групира по
GROUP BY lower(name), number
Тъй като ред 3 и 4 имат различни number
, те не са еднакви за тази заявка.
Ако искате да игнорирате различни числа за тази заявка, опитайте нещо като:
SELECT lower(name)
, count(*) AS ct
FROM tbl
GROUP BY lower(name)
HAVING count(*) > 1;