LEAD和LAG窗口函数

LEAD 函数用于获取当前行后面的行的数据。

SELECT
  column_name,
  LEAD(column_name, n) OVER (ORDER BY some_column) AS next_value
FROM
  your_table;

LAG 函数用于获取当前行前面的行的数据。

SELECT
  column_name,
  LAG(column_name, n) OVER (ORDER BY some_column) AS previous_value
FROM
  your_table;
  • column_name: 要获取数据的列。
  • n: 指定要获取的前面行的偏移量。
  • some_column: 用于确定行顺序的列。

想找到上一个非空记录,可以在 LAG 函数中使用 IGNORE NULLS 子句。这样,LAG 函数会跳过空值,直到找到非空值。

SELECT
  column_name,
  LAG(column_name IGNORE NULLS) OVER (ORDER BY some_column) AS previous_non_null_value
FROM
  your_table;
posted @   emye  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示