sqlserver2005 之關鍵字top

2021-09-08 07:04:22 字數 514 閱讀 1578

最近在專案中提到top n,意思就是就是要做前多少的排名。之前看到過sqlserver關於這個關鍵字的很多特性,今天翻了下資料,複習回憶了下,現在總結下。備忘。

1)top n 是查詢所影響的「最前面」行,所以他是不確定的。要使結果確定,必須加上order by 子句。

2)即使加上了order by子句,結果也可能是不確定的。因為排序字段可能超過要選擇的行數。比如n=5,但是按照

字段排序後結果有19個,結果可能就是這19個中的5個。可以在top n 後加with ties。將返回19行所有的。

3)top n percent 意思是返回結果的n%;如果n是小數,則向上捨入,比如n=9.3,表有100行,則返回10行。

4)n可以是變數,算術表示式,甚至是子查詢的結果。

5)top n和修改:server 2005中支援資料修改用top選項,但是不能用order by子句。所以修改的是先訪問到的

那些行數,要想修改確定的,可以使用cte,然後通過update or delete 語句可以克服這個限制。

sqlserver 2005 交叉表和層次關係查詢

sqlserver2005已經方便提供交叉表和層次關係查詢,下面分別舉例說明 交叉表查詢 create table sales id int,area nvarchar 20 product id nvarchar 4 go insert into sales select 1,aa a001 un...

SQL Server2005複製實現

一 準備工作 1 在發布伺服器上建立乙個共享目錄,作為發布快照檔案的存放目錄。例如 在d 盤根目錄下建資料夾名為pub 2 設定sql 發布伺服器和訂閱伺服器均設定 步驟 開啟服務 控制面板 管理工具 服務 右擊sqlserver agent 屬性 登入 選擇 此帳戶 輸入或選擇第一步中建立的win...

SQL Server 2005完全解除安裝

sql server 2005的解除安裝是乙個非常頭疼的問題。我曾經嘗試過直接使用 新增或刪除程式 工具解除安裝 清除安裝目錄 刪除登錄檔內容等等各種方式綜合解除安裝,勉強成功。現在終於找到了乙個事半功倍的方法,多次嘗試,未有失敗,具體如下 第一種是微軟官方提供的工具 msicuu2.exe 微軟官...