SQL語句中的TOP(expression) [PERCENT] [WITH TIES] 用法


 

 TOP(expression) [PERCENT] [WITH TIES]

 

expression : 指定返回行數的數值表達式。如果指定了PERCENT,則expression默認轉換為FLOAT值,否則,他默認為bigint值。

PERCENT:返回結果中前expression的百分比的行。

with ties :指定從基本結果集中返回額外的行,對於order by 列中指定的排序方式參數,這些額外返回行的該參數值與top n 中最后一行的該參數值相同。智能在select 語句中且只有在指定order by 自居之后,才能指定top 。。。with ties

 

注意:

在insert,update,delete語句中,top后面的expression需要用()括起來。

如果查詢包含 order by子句,則將返回按order by子句排序的前expression行。如果查詢沒有order by,則行的順序是隨意的。

 

如下數據庫數據:執行一條sql語句:

insert top(1)into TB_Teacher (Name) select Name from TB_Teacher order by Name

 

 

結果會插入選擇前1000行的時候,第一條數據。而不會選擇ordery by name之后的top(1)

order by name 應該第一條是小花。

但是結果如下:插入的是小明,也就是我們在表右鍵選擇前1000行時候默認的第一條數據。

 

 

 

 

該子句不影響由insert 語句直接引用的行。insert語句會選擇任意的一行。若要確保插入select子查詢返回的前兩行,應該如下語句:

insert into TB_Teacher (Name) select top(1) Name from TB_Teacher order by Name

 

插入的就是 小花。

 

使用 with ties:

查詢出前20%工資最高的員工,並且按照降序排列。指定with ties 可以確保結果中同時包含其工資   與 返回的最低工資相同的員工

如果去掉 with ties 再看看查詢結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM