偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用SQL Server查詢語(yǔ)句選取前N行數(shù)據(jù)

數(shù)據(jù)庫(kù) SQL Server
SQL Server查詢語(yǔ)句是我們最常用的SQL語(yǔ)句之一,使用SQL Server查詢語(yǔ)句可以實(shí)現(xiàn)選取前N行數(shù)據(jù),下面就為您介紹這種方法,供您參考。

使用SQL Server查詢語(yǔ)句可以實(shí)現(xiàn)多種查詢,下面為您介紹的SQL Server查詢語(yǔ)句可以實(shí)現(xiàn)選取前N行數(shù)據(jù),希望對(duì)您能有所幫助。

在默認(rèn)情況下,SQL Server將返回select語(yǔ)句所查詢到的所有行。而使用可選的top選項(xiàng)可以指定返回的行數(shù)。

Top通常與order by 配合工作,order by可以控制哪些行應(yīng)當(dāng)排在前面,當(dāng)然,沒(méi)有order by子句top也可以正常工作,不過(guò)返回的沒(méi)有排序的的結(jié)果集合中的前N行數(shù)據(jù)。

例如我們有下面這張表:

ID    Name    Age

1     aa       15

2     bb       20

3     cc       25

4     dd       30

5     ee       20

6     ff       20

要查找年齡最小的前3個(gè)人,寫(xiě)如下SQL Server查詢語(yǔ)句:

SELECT TOP 3 *

FROM StuList

ORDER BY Age

返回結(jié)果集為:

1    aa    15

2    bb    20

5    ee    20

這個(gè)SQL Server查詢語(yǔ)句看起來(lái)很清晰,結(jié)果也不錯(cuò),但是很不幸,它是錯(cuò)誤的,因?yàn)橛?個(gè)記錄的年齡都是20,要解決這個(gè)問(wèn)題,可以使用with ties選項(xiàng)。

對(duì)于top關(guān)鍵詞來(lái)說(shuō),with ties選項(xiàng)很重要,它可以在top返回的結(jié)果之后附加多個(gè)行,這些行與top返回的結(jié)果集***一行在order by子句指定的排序列上具有相同的值。

下面是修改后的代碼:

SELECT TOP 3 WITH TIES *

FROM StuList

ORDER BY Age

返回結(jié)果集為:

1    aa    15

2    bb    20

5    ee    20

6    ff    20

對(duì)照表的內(nèi)容我們發(fā)現(xiàn),這樣的返回結(jié)果就是正確的了。

在select語(yǔ)句中必須寫(xiě)名top應(yīng)當(dāng)返回的行數(shù)量或者百分比,不能使用變量或者表達(dá)式來(lái)替代top中的數(shù)字和百分比。

返回限定行數(shù)的另一種方法是對(duì)rowcount全局變量進(jìn)行設(shè)置,要取消rowcount的限制作用,可以將它設(shè)置為0。

例如:

SET ROWCOUNT 3

SELECT *

FROM StuList

ORDER BY Age

這樣也會(huì)返回3行結(jié)果,但是它沒(méi)有with ties選項(xiàng),所以仍然可能會(huì)生成不完整的結(jié)果。

注意:Top是Microsoft T-SQL 對(duì)ANSI SQL的擴(kuò)展,是不可移植的。如果必須將數(shù)據(jù)庫(kù)移植到另一個(gè)數(shù)據(jù)庫(kù)平臺(tái),使用top就會(huì)帶來(lái)轉(zhuǎn)換上的麻煩。相反,rowcount變量是可以移植的。
 

 

 

【編輯推薦】

SQL Server連接錯(cuò)誤的處理方法

SQL Server管理相關(guān)的注冊(cè)表技巧

SQL Server服務(wù)器角色簡(jiǎn)介

SQL Server對(duì)象許可管理

全面解析SQL Server作業(yè)

責(zé)任編輯:段燃 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-10-21 10:28:13

SQL Server查

2010-07-08 13:32:22

SQL Server

2010-09-26 15:15:11

SQL語(yǔ)句

2011-08-16 11:13:05

SQL ServerSQL語(yǔ)句前n條訂單

2010-11-09 14:35:48

SQL Server查

2010-09-25 09:34:05

sql server主

2010-10-21 14:27:35

SQL Server時(shí)

2010-10-21 12:16:11

SQL Server查

2010-09-25 09:45:46

sql server主

2011-08-15 14:29:52

SQL Server數(shù)事務(wù)

2010-09-06 09:53:41

SQL Server語(yǔ)句

2010-10-21 11:44:55

SQL Server分

2011-08-01 22:41:49

SQL Server數(shù)Insert

2010-09-25 16:32:02

SQL語(yǔ)句

2010-09-06 11:05:05

SQL SERVER語(yǔ)句

2011-09-08 16:30:59

SQL Server查詢

2010-09-28 14:33:13

SQL語(yǔ)句

2011-03-04 13:07:06

SQL Server數(shù)

2011-04-01 14:34:31

SQL Server數(shù)嵌套子查詢

2010-11-04 11:52:04

DB2分類取前N個(gè)記錄
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)