我编写了一个查询来删除表中的重复记录。
DELETE e FROM
(
SELECT *, ROW_NUMBER() OVER (PARTITION BY emp_id ORDER BY emp_id) AS rn
FROM employee1
) e
WHERE e.rn > 1
但我收到了这个错误
错误:“e”处或附近的语法错误 第1行:删除e FROM。
有人能帮助我吗?谢谢!
答案 0 :(得分:1)
如果您有唯一的ID,请使用它。但是,如果不这样做,您可以使用ctid
:
delete from employee1 e
where e.ctid > (select min(e.ctid) from employee1 e2 where e2.emp_id = e.emp_id);