我在使用PostgreSQL檢查數據的唯一性方面存在問題。我有百姓餐桌它具有以下數據:使用PostgreSQL檢查3列數據的唯一性
id | identifier | first_name | middle_name | last_name | email | created_at | updated_at
----+------------+------------+-------------+-----------+-----------------+----------------------------+----------------------------
1 | identifier | First | A. | Last | [email protected] | 2015-11-11 14:46:17.782689 | 2015-11-11 14:46:17.782689
2 | identifier | First 2 | M. | Last 2 | [email protected] | 2015-11-11 14:46:17.790697 | 2015-11-11 14:46:17.790697
(2 rows)
現在我想找到記錄的IDS,其標識符屬於多個FIRST_NAME - 姓氏組合。所以在這個例子中,我們有兩個記錄具有相同的標識符但名字和姓氏不同。我試圖檢查是否存在用下面的SQL任何重複,但這並不返回任何東西:
SELECT
identifier, first_name, last_name, COUNT(*)
FROM
people
GROUP BY
identifier, first_name, last_name
HAVING
COUNT(*) > 1
你應該從'select'和'group by'中排除'first_name,last_name' – potashin