要在Oracle SQL中使用排名函数去重,可以结合使用ROW_NUMBER()函数和PARTITION BY子句。
例如,假设有一个名为table1的表,其中包含重复的数据。要根据特定的列去除重复行,可以使用以下查询:
SELECT *
FROM (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY column1 ORDER BY column2) AS rn
FROM table1
) t
WHERE rn = 1;
在上面的查询中,ROW_NUMBER()函数将为每行分配一个唯一的序号,根据PARTITION BY子句指定的列进行分组,并按照ORDER BY子句指定的列排序。最后,筛选出序号为1的行,即保留每个分组中的第一行,从而去除重复行。