SQL Server 2012 實現分頁新語法

2022-03-12 17:42:59 字數 944 閱讀 5610

最近一直在看sql server的書,不過看的都是基礎的查詢流,查詢在工作中用到的最多,所以能正確地查詢出想要的資料也是很重要的嘛。

在書上看到在sql server 2012新增了一種實現分頁的查詢方法,感覺比原來的方便一點,因此記錄一下,如能幫助到大家,也是非常開心的~

以前分頁的時候,我基本都是用row_number()函式,和在where語句中用between and 來實現的;每次都得寫子查詢,感覺挺麻煩的,例:

select

*from

(

select

id, row_number()

over(orderby[

datetime

]desc) as

num

from

dbo.tbluser

) as

twhere t.num between

11and

20

在sql server 2012中就不需要寫子查詢啦,直接在order by語句中就可以實現分頁啦!例:

select

id, row_number()

over(orderby[

datetime

]desc) as

numfrom

dbo.tbluser

order

bynum

offset

10rows

fetch

next

10 rows only

需注意的是:該語法是在order by 子句中引入了兩個新的引數 offset 和  fetch,因此它們必須在order by語句只有使用,且必須結合使用才能使分頁正常運作。

offset指定在返回查詢結果之前要跳過的行數,fetch指定offset之後返回的行數。

解除安裝sql server 2012

好不容易裝上了sql server2012資料庫,可是卻不能連線本地的資料庫,後來發現缺少一些服務,於是決定重新安裝,但是解除安裝卻很麻煩,如果解除安裝不乾淨的話,重新安裝會出問題,所以下面就總結一些方法 在解除安裝sql server 2012後,大家都希望能夠將登錄檔資訊完全刪乾淨,下面就將教您...

SQLServer 2012 高效分頁

sql code 功能 生成測試資料.create table test paging id int identity 1,1 not null primary key,testnumber int not null,testname varchar 20 not null,testdept var...

SQL Server2012中的Throw語句

簡 介sql server2012實現了 類似c 丟擲異常的 throw 語句。相比較於 sqlserver2005 之前使用 error,和sqlserver2005 之後使用 raiserror 引發 異常都是乙個不小的 進步,下面來看一下 throw 的用法。raiserror 和throw ...