更新された質問
「番号と名前の両方で重複する」...「名前と番号を異なる列として」
ここで行を2回カウントできます!
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行目は異なる 番号コード> 、このクエリでは同じではありません。
このクエリの異なる番号を無視する場合は、次のようにしてみてください。
SELECT lower(name)
, count(*) AS ct
FROM tbl
GROUP BY lower(name)
HAVING count(*) > 1;