sql server 實現分頁方法

2021-07-29 20:14:16 字數 901 閱讀 5554

var ipage = getpage(); // 獲取當前頁

var ipagesize = 20;// 每頁的記錄數量

var sql = "select top "+ ipagesize +" id,user from [users] where age > 18 and "

+ " id not in ( select top "+ ipagesize*(ipage -1) +" id from [users] where age > 18 order by id desc )"

+ " order by id desc";

如果排序列

不是自動增長的id列,那麼這裡的資料會紊亂。

2014/02/28 更新,使用 row_number(), over(), between 分頁

$page -- 變數:當前頁碼

$size -- 變數:每頁條數

sql 2005的 row_number() & over() 分頁法,應對排序列非id(自動增長)的情況

select * 

from

(select

id, 

name, 

code, 

addtime, 

row_number()

over

(order

byrank

desc)as

numfrom

employees)as

temp

where

numbetween

(($page

-1) * 

$size+1

)and

$page * 

$size;

這裡使用rank列排序,rank列的資料有大部分是相同的,使用top排除法不行;

sql server實現分頁

sqlserver 的資料分頁 假設現在有這樣的一張表 create table test id int primary key not null identity,names varchar 20 然後向裡面插入大約1000條資料,進行分頁測試 假設頁數是10,現在要拿出第5頁的內容,查詢語句如下...

SQL server 分頁方法小結

這裡面介紹一下常用的分頁方法 1.使用top來分頁 sql select top pagesize from table where id not in select top pagesize pageindex 1 id from table 2.使用 row number over sql se...

sql server實現分頁查詢

資料庫分頁查詢 一 mysql 資料庫分頁查詢 mysql資料庫實現分頁比較簡單,提供了limit函式。一般只需要直接寫到sql語句後面就行了。limit子句可以用來限制由select語句返回過來的資料數量,它有乙個或兩個引數,如果給出兩個引數,第乙個引數指定返回的第一行在所有資料中的位置,從0開始...