SQL SERVER偏移函數(shù)(LAG、LEAD、FIRST_VALUE、LAST _VALUE、NTH_VALUE)
窗口偏移函數(shù)包含2種:一種是便宜量相對(duì)于當(dāng)前行的,包括LAG 和LEAD ,
另一類(lèi)偏移量是相對(duì)于框架開(kāi)端和末尾,包含 FIRST_VALUE、 LAST _VALUE、 NTH_VALUE ,
LAG、LEAD允許我們從窗口分區(qū)中,根據(jù)給定的相對(duì)于當(dāng)前行的前偏移量(LAG)或后偏移量(LEAD),并返回對(duì)應(yīng)行的值,默認(rèn)的偏移量為1。當(dāng)指定的偏移量沒(méi)有對(duì)用的行是,LAG 和LEAD 默認(rèn)返回 NULL,當(dāng)然可用其他值替換 LAG(val,1,0.00) 第3個(gè)參數(shù)就是替換值。
SELECT *, LAG(ProductPrice) OVER(ORDER BY ProductPrice) AS PreValue,LEAD(ProductPrice) OVER(ORDER BY ProductPrice) AS NextValueFROM OrderInfoLAG、LEAD和其他函數(shù)一樣都支持 PARTITION 進(jìn)行分區(qū)查詢(xún),此處就不說(shuō)明了。
FIRST_VALUE、 LAST _VALUE可以查看分區(qū)內(nèi)排序后,第一個(gè)值和最后一個(gè)值
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到此這篇關(guān)于SQL SERVER偏移函數(shù)(LAG、LEAD、FIRST_VALUE、LAST _VALUE、NTH_VALUE)的文章就介紹到這了,更多相關(guān)SQL偏移函數(shù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
