oracle

什么是oracle的lag函数

小樊
81
2024-09-15 19:29:55
栏目: 云计算

Oracle的LAG函数是一种分析函数,用于在查询结果中获取当前行之前的某一行的数据

LAG函数的语法如下:

LAG(expr, offset, default) OVER (
    [PARTITION BY partition_expression]
    ORDER BY order_expression
)

其中:

LAG函数常用于计算累积总和、比较相邻行的值等场景。例如,以下查询使用LAG函数计算每个部门的员工薪资增长率:

SELECT
    department_id,
    employee_id,
    salary,
    LAG(salary) OVER (PARTITION BY department_id ORDER BY hire_date) AS prev_salary,
    ((salary - LAG(salary) OVER (PARTITION BY department_id ORDER BY hire_date)) / LAG(salary) OVER (PARTITION BY department_id ORDER BY hire_date)) * 100 AS salary_growth_rate
FROM
    employees;

在这个例子中,我们首先使用LAG函数获取每个员工在同一部门中的前一个员工的薪资(prev_salary),然后计算当前员工的薪资与前一个员工的薪资之间的差异百分比(salary_growth_rate)。

0
看了该问题的人还看了