开窗函数lead怎么用
LEAD函数是一个窗口函数,用于获取指定列的下一行的值。它的语法如下:
LEAD(column_name [,offset [,default_value]]) OVER (PARTITION BY partition_expression ORDER BY sort_expression)
其中:
- column_name:要获取下一行值的列的名称。
- offset:可选参数,表示要获取下一行的偏移量。默认为1,即获取下一行。
- default_value:可选参数,表示当没有下一行时返回的默认值。默认为NULL。
- PARTITION BY:可选参数,表示要对数据进行分组的列。
- ORDER BY:可选参数,表示对数据进行排序的列。
举个例子,假设有如下表格:
| name | age | |------|-----| | Tom | 28 | | Jack | 30 | | Lily | 25 | | Bob | 32 |
如果要获取每个人的下一个人的年龄,可以使用LEAD函数:
SELECT name, age, LEAD(age) OVER (ORDER BY age) AS next_age FROM people;
结果如下:
| name | age | next_age | |------|-----|----------| | Lily | 25 | 28 | | Tom | 28 | 30 | | Jack | 30 | 32 | | Bob | 32 | NULL |
可以看到,LEAD函数根据age列的排序顺序,获取了每个人的下一个人的年龄。最后一行因为没有下一个人,所以返回了NULL。
原文地址: https://www.cveoy.top/t/topic/uyl 著作权归作者所有。请勿转载和采集!