SqlServer2012中First_Value函數(shù)簡(jiǎn)單分析
First_Value返回結(jié)果集中某列第一條數(shù)據(jù)的值,跟TOP 1效果一樣,比較簡(jiǎn)單的一個(gè)函數(shù)
先貼測(cè)試用代碼
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)建一列新列,返回結(jié)果集中第一行的LastName值,這個(gè)所謂的第一行受OVER里的ORDER BY影響,看圖和代碼:
以ID正序取
以ID倒序取
如果SQL腳本中使用了PARTITION分區(qū)函數(shù),則FIRST_VALUE返回每個(gè)分區(qū)內(nèi)的首條數(shù)據(jù)值,看演示
這里以Department分區(qū),則整個(gè)數(shù)據(jù)集被分成了兩部分:Information Services和Document Control兩塊,這時(shí)FIRST_VALUE分別返回兩塊分區(qū)內(nèi)的首條數(shù)據(jù)值,同樣的受ORDER BY關(guān)鍵字的影響,
再看一個(gè)受ORDER BY 影響的例子
與FIRST_VALUE函數(shù)同時(shí)出現(xiàn)的還有一個(gè),SECOND_VALUE?NO,沒(méi)有這個(gè)函數(shù)啊,但是有一LAST_VALUE,怎么函數(shù)怎么使用,不打算再單獨(dú)起一篇文章了,LAST_VALUE嗯
相關(guān)文章
SQL Server 數(shù)據(jù)庫(kù)基本操作語(yǔ)句總結(jié)
SQL Server 數(shù)據(jù)庫(kù)基本操作語(yǔ)句總結(jié),需要的朋友可以參考一下2013-05-05SQL語(yǔ)句實(shí)現(xiàn)查詢(xún)Index使用狀況
這篇文章主要介紹了SQL語(yǔ)句實(shí)現(xiàn)查詢(xún)Index使用狀況,本文直接給出SQL腳本代碼,需要的朋友可以參考下2015-07-07SQLServer 跨庫(kù)查詢(xún)實(shí)現(xiàn)方法
不使用鏈接的服務(wù)器名,而提供特殊的連接信息,并將其作為四部分對(duì)象名的一部分2012-04-04SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用介紹
。最近時(shí)間剛從客戶(hù)端轉(zhuǎn)入后臺(tái)寫(xiě)服務(wù),對(duì)于后臺(tái)數(shù)據(jù)庫(kù)以及服務(wù)的書(shū)寫(xiě)完全是個(gè)小白,所以最近寫(xiě)的肯定沒(méi)有太多技術(shù)含量2013-01-01針對(duì)SQL 2000 的分頁(yè)存儲(chǔ)過(guò)程代碼分享
針對(duì)SQL 2000 的分頁(yè)存儲(chǔ)過(guò)程,有詳細(xì)參數(shù)說(shuō)明2011-07-07簡(jiǎn)單判斷MSSQL數(shù)據(jù)庫(kù)版本(2000或者2005)
這篇文章主要介紹了簡(jiǎn)單判斷MSSQL數(shù)據(jù)庫(kù)版本(2000或者2005),需要的朋友可以參考下2015-01-01sql動(dòng)態(tài)行轉(zhuǎn)列的兩種方法
sql動(dòng)態(tài)行轉(zhuǎn)列的兩種方法,需要的朋友可以參考一下2013-04-04