我需要 SQL 代码来识别表中可能的重复项。假设我的表格有 4 列:
ID(主键)
日期1
日期2
组ID
(Date1, Date2, GroupID) 形成唯一键。
该表一次会填充数据 block ,并且经常会加载一个新 block ,其中包含许多已存在的记录。只要唯一的 key 捕获他们就可以了。不幸的是,有时 Date1 在第一次或后续上传时为空(或至少为“1900/01/01”)。
因此,我需要的是识别 (Date2, GroupID) 组合在何处多次出现以及一个记录 Date1 = '1900/01/01' 的位置
谢谢
卡尔
最佳答案
bkm 具有这种功能,但内部选择在某些数据库上可能表现不佳。 这更简单:
select t1.* from
t as t1 left join t as t2
on (t1.date2=t2.date2 and t1.groupid=t2.groupid)
where t1.id != t2.id and (t1.date1='1900/01/01' or t2.date2='1900/01/01')
关于SQL 查找可能的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1326195/