如果要在Oracle SQL中使用窗口函数去重,可以结合使用ROW_NUMBER()
函数和PARTITION BY
子句。
例如,假设有一个表table1
,其中包含id
和value
两列,我们想要按照value
列去重,可以使用以下查询:
SELECT id, value
FROM (
SELECT id, value, ROW_NUMBER() OVER(PARTITION BY value ORDER BY id) AS rn
FROM table1
) t
WHERE rn = 1;
在上面的查询中,ROW_NUMBER()
函数会为每个value
值分配一个排名(从1开始),然后我们只选择排名为1的行,即去重后的结果。