阅读量:1
LAG函数是MySQL中的一种窗口函数,用于获取当前行之前的指定行数的数据。
LAG函数的语法如下: LAG(expression, offset, default) OVER (PARTITION BY partition_expression ORDER BY sort_expression)
参数说明:
- expression: 要获取的列或表达式。
- offset: 要获取的行数,可以是正数、负数或0。正数表示获取当前行之前的行数,负数表示获取当前行之后的行数,0表示获取当前行。
- default: 可选参数,表示当获取的行不存在时,返回的默认值。
使用LAG函数可以实现很多功能,例如:
- 获取上一行的数据。
- 计算当前行和上一行之间的差值。
- 获取当前行之前的前几行数据。
- 计算当前行和之前几行数据的聚合值等。
下面是一个使用LAG函数的示例:
SELECT id, value, LAG(value, 1, 0) OVER (ORDER BY id) AS lag_value FROM table_name;
这个示例中,通过LAG函数获取了当前行之前的一行数据,并将结果新的列"lag_value"返回。