oracle sql去重有哪些方法

小樊
113
2024-07-26 20:35:12
欄目: 云計(jì)算

在Oracle SQL中,可以使用以下幾種方法來去除重復(fù)的記錄:

  1. 使用DISTINCT關(guān)鍵字:在SELECT語句中使用DISTINCT關(guān)鍵字可以去除重復(fù)的記錄。
SELECT DISTINCT column1, column2
FROM table_name;
  1. 使用ROW_NUMBER()窗口函數(shù):通過使用ROW_NUMBER()函數(shù)來為每一條記錄添加一個(gè)行號(hào),然后篩選行號(hào)為1的記錄。
SELECT column1, column2
FROM (
    SELECT column1, column2, ROW_NUMBER() OVER (PARTITION BY column1 ORDER BY column2) AS rn
    FROM table_name
) t
WHERE rn = 1;
  1. 使用GROUP BY子句:通過使用GROUP BY子句對(duì)需要去重的列進(jìn)行分組,然后選擇每組中的第一條記錄。
SELECT column1, column2
FROM table_name
GROUP BY column1, column2;
  1. 使用UNION操作符:通過使用UNION操作符將多個(gè)SELECT語句的結(jié)果集合并,并使用UNION ALL可以保留重復(fù)記錄。
SELECT column1, column2
FROM table_name
UNION
SELECT column1, column2
FROM table_name;

0