- 偏移函数
窗口偏移函数包含2种:一种是便宜量相对于当前行的,包括LAG 和LEAD ,
另一类偏移量是相对于框架开端和末尾,包含 FIRST_VALUE、 LAST _VALUE、 NTH_VALUE , - LAG、LEAD
允许我们从窗口分区中,根据给定的相对于当前行的前偏移量(LAG)或后偏移量(LEAD),并返回对应
行的值,默认的偏移量为1。当指定的偏移量没有对用的行是,LAG 和LEAD 默认返回 NULL,当然可用其他
值替换 LAG(val,1,0.00) 第3个参数就是替换值。SELECT *, LAG(ProductPrice) OVER(ORDER BY ProductPrice) AS PreValue, LEAD(ProductPrice) OVER(ORDER BY ProductPrice) AS NextValue FROM OrderInfo
LAG、LEAD和其他函数一样都支持 PARTITION 进行分区查询,此处就不说明了。 - FIRST_VALUE、 LAST _VALUE
可以查看分区内排序后,第一个值和最后一个值SELECT *, FIRST_VALUE (ProductPrice) OVER(PARTITION BY ProductName ORDER BY ProductPrice) AS FirstValue, LAST_VALUE (ProductPrice) OVER( PARTITION BY ProductName ORDER BY ProductPrice ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ) AS LastValue FROM OrderInfo
SQL SERVER 窗口函数4 偏移函数:LAG、LEAD 、FIRST_VALUE、 LAST _VALUE、NTH_VALUE
最新推荐文章于 2024-06-23 14:56:36 发布