可以使用ROW_NUMBER()和PARTITION BY子句進(jìn)行去重。以下是一個(gè)示例:
假設(shè)我們有一個(gè)名為employees的表,其中包含員工的姓名和部門信息。如果我們想要在部門中去重員工信息,可以使用以下查詢:
SELECT *
FROM (
SELECT
employee_id,
employee_name,
department,
ROW_NUMBER() OVER (PARTITION BY department ORDER BY employee_id) AS rn
FROM employees
) t
WHERE rn = 1;
在這個(gè)查詢中,我們首先在部門中按照員工ID進(jìn)行排序,然后使用ROW_NUMBER()函數(shù)為每個(gè)員工分配一個(gè)序號(hào)。最后,我們選擇每個(gè)部門中序號(hào)為1的員工信息,以實(shí)現(xiàn)去重效果。
通過(guò)使用分析函數(shù),我們可以靈活地進(jìn)行去重操作并根據(jù)需要對(duì)數(shù)據(jù)進(jìn)行分組和排序。