欢迎投稿

今日深度:

SQLSERVER偏移函数(LAG、LEAD、FIRST_VALUE、LAST_VALUE、NTH_VALUE),

SQLSERVER偏移函数(LAG、LEAD、FIRST_VALUE、LAST_VALUE、NTH_VALUE),


目录
  • 偏移函数
  •  LAG、LEAD
  • FIRST_VALUE、  LAST _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偏移函数内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

您可能感兴趣的文章:
  • MySQL limit分页大偏移量慢的原因及优化方案
  • SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
  • MySQL窗口函数实现榜单排名
  • SQL窗口函数OVER用法实例整理
  • SQL中的开窗函数(窗口函数)
  • MySQL窗口函数OVER()用法及说明
  • 带你快速了解SQL窗口函数
  • MySQL8.0中的窗口函数的示例代码
  • MySQL窗口函数的具体使用

www.htsjk.Com true http://www.htsjk.com/Sql_Server/46776.html NewsArticle SQLSERVER偏移函数(LAG、LEAD、FIRST_VALUE、LAST_VALUE、NTH_VALUE), 目录 偏移函数 LAG、LEAD FIRST_VALUE、 LAST _VALUE 偏移函数 窗口偏移函数包含2种:一种是便宜量相对于当前行的,包括 LAG 和LEAD ,...
评论暂时关闭