我有一个大表,其中包含有关用户的以下数据.
social security number
name
address
Run Code Online (Sandbox Code Playgroud)
我想找到表中所有可能的重复项,其中ssn相等,但名称不是
我的尝试是:
SELECT * FROM Table t1
WHERE (SELECT count(*) from Table t2 where t1.name <> t2.name) > 1
Run Code Online (Sandbox Code Playgroud)
gbn*_*gbn 14
SSN上的分组应该这样做
SELECT
ssn
FROM
Table t1
GROUP BY
ssn
HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)
..或者,如果每个ssn有很多行,并且只想找到重复的名称)
...
HAVING COUNT(DISTINCT name) > 1
Run Code Online (Sandbox Code Playgroud)
编辑,哎呀,误解了
SELECT
ssn
FROM
Table t1
GROUP BY
ssn
HAVING MIN(name) <> MAX(name)
Run Code Online (Sandbox Code Playgroud)