有關分頁 sql 的資料很多,有的使用儲存過程,有的使用游標。本人不喜歡使用游標,我覺得它耗資、效率低;使用儲存過程是個不錯的選擇,因為儲存過程是經過預編譯的,執行效率高,也更靈活。先看看單條 sql 語句的分頁 sql 吧。
方法1:
適用於 sql server 2000/2005
select
top頁大小
*from
table1
where
id notin(
select
top頁大小
*(頁數-1
) id
from
table1
order
byid
)order
byid
方法2:
適用於 sql server 2000/2005
select
top頁大小
*from
table1
where
id >
(select
isnull
(max
(id),0)
from
(select
top頁大小
*(頁數-1
) id
from
table1
order
byid) a
)order
byid
方法3:
適用於 sql server 2005
select
top頁大小
*from
(select
row_number()
over
(order
byid)
asrownumber,
*from
table1
) awhere
rownumber
>
頁大小*
(頁數-1)
說明,頁大小:每頁的行數;頁數:第幾頁。使用時,請把「頁大小」和「頁大小*(頁數-1)」替換成數字。
注意:sql2000不支援row_number()函式
sql預計簡單分頁
在顯示記錄條目時往往要用到分頁,一種常用的辦法是利用各種資料庫自帶的定位介面對原始查詢語句進行改寫,從而只取出特定範圍的某些記錄。不同的資料庫,查詢定位介面是不一樣的,下面做一彙總 資料庫分頁查詢語句 說明 mysql query sqllimit 使用limit關鍵字,第乙個 是起始行號,第二個 ...
SQL分頁語句及簡單的SQL分頁儲存過程
假分頁 從資料庫中選擇所有的記錄後再進行分頁 真分頁 只從資料庫中選擇當前頁的記錄 sql select top每頁顯示的記錄數 fromtopicwhereid not in select top 當前的頁數 1 每頁顯示的記錄數 idfromtopicorder byiddesc order b...
實現分頁的簡單sql語句
要求選取 tbllendlist 中 第n頁的記錄,每一頁100條記錄。方法1 select top 100 from tbllendlist where fldserialno not in select top n 1 100 fldserialno from tbllendlist order...