在Oracle中,OVER()函数用于在窗口函数中指定窗口的范围。通过使用OVER()函数,可以实现对查询结果集的分组和排序操作。
以下是使用OVER()函数的一般语法:
SELECT
column1,
column2,
OVER (PARTITION BY column3 ORDER BY column4) AS window_function
FROM table_name;
在上面的语法中,PARTITION BY子句用于指定分组的列,而ORDER BY子句用于指定排序的列。通过使用OVER()函数,可以对每个分组应用窗口函数,并返回相应的结果。
例如,以下是一个示例查询,使用OVER()函数计算每个部门中员工的平均工资:
SELECT
department_id,
employee_id,
salary,
AVG(salary) OVER (PARTITION BY department_id) AS avg_salary
FROM
employees;
在上面的查询中,OVER()函数根据department_id分组,计算每个部门中员工的平均工资,并将结果存储在avg_salary列中。
总之,通过使用Oracle中的OVER()函数,可以在窗口函数中定义窗口的范围,实现对查询结果集的分组和排序操作。