程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SqlServer2012中First_Value函數簡單分析,firstvalue函數

SqlServer2012中First_Value函數簡單分析,firstvalue函數

編輯:更多數據庫知識

SqlServer2012中First_Value函數簡單分析,firstvalue函數


First_Value返回結果集中某列第一條數據的值,跟TOP 1效果一樣,比較簡單的一個函數

先貼測試用代碼

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函數,創建一列新列,返回結果集中第一行的LastName值,這個所謂的第一行受OVER裡的ORDER BY影響,看圖和代碼:

以ID正序取

以ID倒序取

如果SQL腳本中使用了PARTITION分區函數,則FIRST_VALUE返回每個分區內的首條數據值,看演示

這裡以Department分區,則整個數據集被分成了兩部分:Information Services和Document Control兩塊,這時FIRST_VALUE分別返回兩塊分區內的首條數據值,同樣的受ORDER BY關鍵字的影響,

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

與FIRST_VALUE函數同時出現的還有一個,SECOND_VALUE?NO,沒有這個函數啊,但是有一LAST_VALUE,怎麼函數怎麼使用,不打算再單獨起一篇文章了,LAST_VALUE嗯


Sql Server 不支持 first()函數?

select top 1 字段3 ,(select sum(字段4) from 表) as 別名 from 表

不知道是不是想要這種效果.你試試看吧.
你加我QQ說吧 我都弄暈了
上面這個語句就能把兩個字段合並顯示
294369120
加了詳細說一下吧
 

100分SQL server 中系統函數精細講解

我也是學習sqlserver的!

一些基本的函數也知道了!

你有問題就直接問我吧!

我基本上天天在的!

所有的表的名都叫:test

舉一些例子給你

select max(字段) from test
//獲取字段最大的一條記錄!

select min(字段) from test
//獲取字段最小的一條記錄!

select left(字段,6) from test
//獲取字段的前六個字符!

select right(字段,6) from test
//獲取字段的後六個字符!

select substring(字段,1,5) from test
//獲取字段的第一個到第五個的字符!

abs/avg/len/reverse/

太多了!
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved