查询:MSSQL数据库中,存在多个字段重复的记录(当且仅当保留一条)
如图(打卡明细表):
rkey 掌形卡号 打卡日期 打卡时间
110 987 2021-04-20 12:00
111 987 2021-04-20 12:00
112 987 2021-04-20 12:30
113 988 2021-04-20 13:40
114 987 2021-04-20 14:50
select * FROM 打卡明细表 WHERE rkey NOT IN (
SELECT t.trkey FROM (
SELECT MIN(rkey) AS trkey FROM 打卡考勤明细表 GROUP BY 掌形卡号,打卡日期,打卡时间
) t
) order by 打卡日期 desc
结果:
rkey 掌形卡号 打卡日期 打卡时间
111 987 2021-04-20 12:00
删除:MSSQL数据库中,删除掉多个字段重复的记录(当且仅当保留一条)
delete FROM 打卡考勤明细表 WHERE rkey NOT IN (
SELECT t.trkey FROM (
SELECT MIN(rkey) AS trkey FROM 打卡考勤明细表 GROUP BY 掌形卡号,打卡日期,打卡时间
) t
)
操作完后 结果如下:
rkey 掌形卡号 打卡日期 打卡时间
110 987 2021-04-20 12:00
112 987 2021-04-20 12:30
113 988 2021-04-20 13:40
114 987 2021-04-20 14:50
完。