因此,我尝试查询只具有某个匹配属性的行,例如:
memID name SSN
26 Dave 6
26 Dave 6
26 Dave 5
5 Sean 8
45 Ash 10
45 Ash 29我想要的结果是除以下内容之外的所有行:
5 Sean 8发布于 2019-03-07 08:12:00
SELECT * FROM mytable WHERE NOT memID=5发布于 2019-03-07 08:12:49
这就是你想要的:
SELECT memID, name, SSN
FROM yourTable
WHERE memID IN (SELECT memID FROM yourTable GROUP BY memID HAVING COUNT(*) > 1);发布于 2019-03-07 08:13:28
我认为您需要所有列都是唯一的行--它们不存在于其他行中。脑海中浮现出exists:
select t.*
from t
where not exists (select 1
from t t2
where t2.memid = t.memid or
t2.name = t.name or
t2.ssn = t.ssn
);如果您想要其中一列或任何一列重复的行,则需要exists而不是not exists。
https://stackoverflow.com/questions/55034120
复制相似问题