SqlServer2012中First_Value函數(shù)簡單分析
First_Value返回結果集中某列第一條數(shù)據的值,跟TOP 1效果一樣,比較簡單的一個函數(shù)
先貼測試用代碼
DECLARE @TestData TABLE( ID INT IDENTITY(1,1), Department VARCHAR(20), LastName VARCHAR(20), Rate FLOAT ) INSERT INTO @TestData(Department,LastName,Rate) SELECT 'Document Control','Arifin',17.7885 UNION ALL SELECT 'Document Control','Norred',16.8269 UNION ALL SELECT 'Document Control','Kharatishvili',16.8269 UNION ALL SELECT 'Information Services','Chai',10.25 UNION ALL SELECT 'Information Services','Berge',10.25 UNION ALL SELECT 'Information Services','Trenary',50.4808 UNION ALL SELECT 'Information Services','Conroy',39.6635 UNION ALL SELECT 'Information Services','Ajenstat',38.4615 UNION ALL SELECT 'Information Services','Wilson',38.4615 UNION ALL SELECT 'Information Services','Connelly',32.4519 UNION ALL SELECT 'Information Services','Meyyappan',32.4519 SELECT * FROM @TestData

下邊使用FIRST_VALUE函數(shù),創(chuàng)建一列新列,返回結果集中第一行的LastName值,這個所謂的第一行受OVER里的ORDER BY影響,看圖和代碼:
以ID正序取

以ID倒序取

如果SQL腳本中使用了PARTITION分區(qū)函數(shù),則FIRST_VALUE返回每個分區(qū)內的首條數(shù)據值,看演示
這里以Department分區(qū),則整個數(shù)據集被分成了兩部分:Information Services和Document Control兩塊,這時FIRST_VALUE分別返回兩塊分區(qū)內的首條數(shù)據值,同樣的受ORDER BY關鍵字的影響,

再看一個受ORDER BY 影響的例子

與FIRST_VALUE函數(shù)同時出現(xiàn)的還有一個,SECOND_VALUE?NO,沒有這個函數(shù)啊,但是有一LAST_VALUE,怎么函數(shù)怎么使用,不打算再單獨起一篇文章了,LAST_VALUE嗯
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
關注官方微信