溫馨提示×

oracle分組函數(shù)partition怎么用

小億
219
2023-12-13 20:50:12
欄目: 云計算

在Oracle中,PARTITION BY子句用于將查詢結果按照指定的列或表達式分成不同的分組。它常常與分組函數(shù)一起使用,以便對每個分組進行聚合計算。

具體用法如下:

SELECT1, 列2, ..., 分組函數(shù)(列) OVER (PARTITION BY 列或表達式 ORDER BY 列)
FROM 表名;

其中,列1、列2等為要查詢的列,分組函數(shù)為聚合函數(shù)(如SUM、AVG等),列為分組的依據(jù)列或表達式,表名為要查詢的表名。

示例:

假設有一個員工表employees,包含員工ID(employee_id)、部門ID(department_id)和工資(salary)等字段,我們希望計算每個部門內(nèi)的員工工資總和。

SELECT department_id, SUM(salary) OVER (PARTITION BY department_id ORDER BY employee_id) as total_salary
FROM employees;

這個查詢會根據(jù)部門ID進行分組,并按照員工ID進行排序。對于每個分組,將計算對應部門中所有員工的工資總和,并將結果新的列返回。

0