时间:2023-10-27来源:系统城装机大师作者:佚名
窗口偏移函数包含2种:一种是便宜量相对于当前行的,包括LAG 和LEAD ,
另一类偏移量是相对于框架开端和末尾,包含 FIRST_VALUE、 LAST _VALUE、 NTH_VALUE ,
允许我们从窗口分区中,根据给定的相对于当前行的前偏移量(LAG)或后偏移量(LEAD),并返回对应行的值,默认的偏移量为1。当指定的偏移量没有对用的行是,LAG 和LEAD 默认返回 NULL,当然可用其他值替换 LAG(val,1,0.00) 第3个参数就是替换值。
1 2 3 4 |
SELECT *, LAG(ProductPrice) OVER( ORDER BY ProductPrice) AS PreValue, LEAD(ProductPrice) OVER( ORDER BY ProductPrice) AS NextValue FROM OrderInfo |
LAG、LEAD和其他函数一样都支持 PARTITION 进行分区查询,此处就不说明了。
可以查看分区内排序后,第一个值和最后一个值
1 2 3 4 5 6 7 |
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偏移函数(LAG、LEAD、FIRST_VALUE、LAST _VALUE、NTH_VALUE)的文章就介绍到这了,
2023-10-27
sql中的 IF 条件语句的用法详解2023-10-27
SQL查询中出现笛卡尔积现象的解决方法2023-10-27
SQL DNSlog注入实战Java通过JDBC连接SQLServer 2012,出现一些连接问题,从网上查找了很多解决方法,却仍然无法解决。在这里将我遇到的问题及解决方法总结如下,希望可以帮到大家。1、通过端口 1433...
2023-10-27
一,开窗函数的语法 二,从聚合开窗函数sum(score) over(partition by name )讲起 三,开窗函数之first_value,last_value,lead,lag 四,排名开窗函数ROW_NUMBER、DENSE_RANK、RANK...
2023-10-27