如果要在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的行,即去重后的結果。