在 Oracle 中,你可以使用 ROWID
伪列来删除表中的重复数据中的一条。以下是一种基本的方法:
假设你有一个名为 your_table
的表,有一些列用于区分记录,例如 column1
, column2
,等等。你希望删除除了一个重复记录之外的其他重复记录。
DELETE FROM your_table
WHERE ROWID NOT IN (
SELECT MAX(ROWID)
FROM your_table
GROUP BY column1, column2, ... -- 列出用于区分记录的列
);
这个语句使用 ROWID
伪列来确定表中的唯一记录,并在 DELETE
语句中删除除了每组中的最大 ROWID
之外的其他记录。
请确保将 column1
, column2
, … 替换为实际用于区分记录的列。这种方法假设你想要保留每组中的最大 ROWID
对应的记录,但你可以根据需要进行调整。
Was this helpful?
0 / 0