SelectDB Enterprise
参考手册
SQL 函数
窗口函数
LAG

LAG

描述

LAG() 是一个窗口函数,用于访问当前行之前的行数据,而无需进行自连接。它可以获取分区内当前行之前第 N 行的值。

语法

LAG ( <expr>, <offset>, <default> )

参数

参数说明
expr需要获取值的表达式
offset向前偏移的行数。
default当偏移超出窗口范围时返回的默认值

返回值

返回与输入表达式相同的数据类型。

举例

计算每个销售员当前销售额与前一天销售额的差值:

select stock_symbol, closing_date, closing_price,    
lag(closing_price,1, 0) over (partition by stock_symbol order by closing_date) as "yesterday closing"   
from stock_ticker   
order by closing_date;
+--------------+---------------------+---------------+-------------------+
| stock_symbol | closing_date        | closing_price | yesterday closing |
| ------------ | ------------------- | ------------- | ----------------- |
| JDR          | 2014-09-13 00:00:00 | 12.86         | 0                 |
| JDR          | 2014-09-14 00:00:00 | 12.89         | 12.86             |
| JDR          | 2014-09-15 00:00:00 | 12.94         | 12.89             |
| JDR          | 2014-09-16 00:00:00 | 12.55         | 12.94             |
| JDR          | 2014-09-17 00:00:00 | 14.03         | 12.55             |
| JDR          | 2014-09-18 00:00:00 | 14.75         | 14.03             |
| JDR          | 2014-09-19 00:00:00 | 13.98         | 14.75             |
+--------------+---------------------+---------------+-------------------+
© 2025 北京飞轮数据科技有限公司 京ICP备2022004029号 | Apache、Apache Doris 以及相关开源项目名称均为 Apache 基金会商标