Oracle 去除重复记录SQL
在Oracle数据库中,去除重复记录通常有两种方法:使用ROW_NUMBER()
窗口函数或者使用DISTINCT
关键字。
方法一:使用ROW_NUMBER()
窗口函数
Oracle的ROW_NUMBER()
窗口函数可以为每行结果分配一个唯一的序号,通常与PARTITION BY
子句结合使用,可以为每个分区内的数据分配唯一的序号。
DELETE FROM table_name
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM table_name
GROUP BY column1, column2, ..., columnN
);
方法二:使用DISTINCT
关键字
DISTINCT
关键字用于返回唯一不同的值。如果你想要选择多列并去除这些列的组合记录的重复情况,可以使用DISTINCT
。
SELECT DISTINCT column1, column2, ..., columnN
FROM table_name;
请根据实际情况选择合适的方法。如果你需要删除重复的记录,第一种方法更适合,它会改变原表的数据;如果你只是想查询不重复的记录,第二种方法更合适。
评论已关闭