在 PostgreSQL 中,over()
函数用于定义窗口函数(window function)。窗口函数是一种特殊的 SQL 函数,可以在查询结果中的一组行上执行计算,而不仅仅是单个行。over()
函数可以指定窗口函数的窗口范围,例如指定在整个查询结果中计算,或者按照特定的排序方式进行计算。
下面是一个示例,演示如何在 PostgreSQL 中使用 over()
函数:
SELECT
department,
employee_name,
salary,
SUM(salary) OVER (PARTITION BY department) AS department_total_salary
FROM
employees;
在上面的示例中,SUM(salary) OVER (PARTITION BY department)
表示对每个部门中的所有员工的工资进行求和计算,并将结果返回为一个新的列 department_total_salary
。在这里,PARTITION BY department
指定了窗口函数的分组方式,即按照部门进行分组计算。
总的来说,over()
函数的用法是为窗口函数提供窗口范围,并允许指定如何对数据进行分组和排序。