阅读量:0
LAST_VALUE
是一个 SQL 窗口函数,用于获取某个列在窗口范围内的最后一个值
以下是 LAST_VALUE
函数的基本语法:
LAST_VALUE(column) OVER ( PARTITION BY partition_columns ORDER BY order_columns ROWS/RANGE frame_clause )
其中:
column
:要获取最后一个值的列。PARTITION BY partition_columns
:将结果集分为多个分区,每个分区都会应用LAST_VALUE
函数。这是可选的。ORDER BY order_columns
:确定窗口范围内的行顺序。ROWS/RANGE frame_clause
:定义窗口范围。这是可选的,默认情况下,窗口范围包括当前行及其之前的所有行。
以下是一个使用 LAST_VALUE
函数的示例:
SELECT employee_id, department_id, salary, LAST_VALUE(salary) OVER ( PARTITION BY department_id ORDER BY employee_id ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) as last_salary_in_department FROM employees;
在这个示例中,我们从 employees
表中选择员工 ID、部门 ID、工资等信息,并使用 LAST_VALUE
函数计算每个部门的最后一个工资。通过对部门 ID 进行分区并按员工 ID 排序,我们可以找到每个部门的最后一个工资。