SQL Server
從資料庫表中的第M條記錄開始取N條記錄,利用Top關鍵字:注意如果Select語句中既有top,又有order by,則是從排序好的結果集中選擇:
SELECT *
FROM ( SELECT Top N *
FROM (SELECT Top (M + N - 1) * FROM 表名稱 Order by 主鍵 desc) t1 ) t2
Order by 主鍵 asc
例如從表Sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
SELECT *
FROM ( SELECT TOP 20 *
FROM (SELECT TOP 29 * FROM Sys_option order by sys_id desc) t1) t2
Order by sys_id asc
Oralce資料庫
從資料庫表中第M條記錄開始檢索N條記錄
SELECT *
FROM (SELECT ROWNUM r,t1.* From 表名稱 t1 where rownum < M + N) t2
where t2.r >= M
例如從表Sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
SELECT *
FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2
Where t2.R >= 10
My sql資料庫
MySQL實作資料分頁依靠的是limit這個屬性!
1. 标準查詢語句:
select * from table(表名) limit startPos,pageSize
小結:
1.startPos:定義目前頁起始位置 注意:目前頁的起始位置隻能在目前頁确定之後才能定義;
2.pageSize:定義每頁顯示資料的條數
3.如果給定2個參數,第一個指定要傳回的第一行的偏移量,第二個指定傳回行的最大數目。初始行的偏移量是0(不是1)。
如:select * from table LIMIT 5,10; 這個查詢出來的是第6到15之間的10條資料
如果給定一個參數,它指出傳回行的最大數目。
如:select * from table LIMIT 5; 這個查詢出來的是前5條資料
(LIMIT n等價于LIMIT 0,n