SQL SERVER偏移函数(LAG、LEAD、FIRST_VALUE、LAST _VALUE、NTH_VALUE)
偏移函数
窗口偏移函数包含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偏移函数(LAG、LEAD、FIRST_VALUE、LAST _VALUE、NTH_VALUE)的文章就介绍到这了,更多相关SQL偏移函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SqlServer编写数据库表的操作方式(建库、建表、修改语句)
这篇文章主要介绍了SqlServer编写数据库表的操作方式(建库、建表、修改语句)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-09-09
SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)
"无法打开新数据库 'POS'。CREATE DATABASE 中止。 (Microsoft SQL Server,错误: 9003)"看是9003错误,怎么解决呢,下面小编给大家分享SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000),一起看看吧2016-09-09
sqlserver 各种判断是否存在(表名、函数、存储过程等)
在sql server中,如何判断sql server表是否存在呢?下面就将为您详细介绍该方法,供您参考,希望对您加深理解sql server表能起到些许作用2013-02-02


最新评论