我的表结构就像
RID int,
ColA int,
ColB varchar(1) not null,
ColC DATE not null
我现在需要做的是删除重复的行,但没有列是唯一的。
答案 0 :(得分:1)
如果使用Oracle,您可以使用rowid
伪列:
https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns008.htm
这样的查询应该有效:
DELETE FROM the_table
WHERE rowid not in
(SELECT MIN(rowid)
FROM the_table
GROUP BY RID, ColA, ColB, ColC);