溫馨提示×

oracle分組函數partition怎么用

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

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

具體用法如下:

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

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

示例:

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

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

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

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女