Oracle MySQL的分頁sql語句

2021-08-25 15:27:05 字數 1539 閱讀 3186

oracle分頁

1. 最好還是利用分析函式

row_number() over ( partition by col1 order by col2 )

比如想取出 100-150 條記錄 , 按照 tname 排序

select tname,tabtype from (

select tname,tabtype,row_number() over ( order by tname ) rn from tab

)where rn between 100 and 150;

2. 直接使用 rownum 虛列

select tname,tabtype from (select tname,tabtype,rownum rn from tab where

rownum <= 150) where rn >= 100;

使用序列不能基於整個記錄集合進行排序 , 如果指定了 order by 子句 , 排序的的是選出來的記錄集的排序,經過測試,在 100 萬條資料的表中 , 檢索資料的時候 , 方法 2 的速度要比方法 1 要快的 .

ms sql server分頁sql語句

特點:一次查詢,資料庫只返回一頁的資料。而不是取出所有的資料。

pagesize : 每頁顯示記錄數 currentpage :當前頁數

select top pagesize * from ( select top pagesize*currentpage * from user_table order by id desc ) as asystable order by id asc

mysql資料分頁

limit 子句可以被用於強制 select 語句返回指定的記錄數。 limit 接受乙個或兩個數字引數。引數必須是乙個整數常量。如果給定兩個引數,第乙個引數指定第乙個返回記錄行的偏移量,第二個引數指定返回記錄行的最大數目。初始記錄行的偏移量是 0( 而不是 1) : 為了與 postgresql 相容, mysql 也支援句法: limit # offset #

mysql> select * from table limit 5,10; // 檢索記錄行 6-15

//為了檢索從某乙個偏移量到記錄集的結束所有的記錄行,可以指定第二個引數為 -1:

mysql> select * from table limit 95,-1; // 檢索記錄行 96-last.

//如果只給定乙個引數,它表示返回最大的記錄行數目,limit n 等價於 limit 0,n。

mysql> select * from table limit 5; //檢索前 5 個記錄行 。

oracle,mysql分頁總結

1.mysql 分頁 mysql 簡單 names表示要查詢的欄位名稱,formname表示查詢的表名,order查詢順序,pageno表示當前頁,pagesize表示每頁顯示條數,limit後面引數 pageno 1 pagesize表示從第幾條開始查詢,pagesize表示查詢幾條 sql se...

Oracle Mysql 分頁查詢

在實際開發過程中,分頁查詢是最常使用的,只要存在 查詢,就會存在分頁查詢 分頁的好處在於 減少查詢的資料量,不會給前端 後台伺服器 資料庫造成壓力,減少使用者等待時間。如果僅僅是sql,不涉及前後端互動的話,最簡單的分頁查詢就是 顯然,這種查詢,對於我們來說,基本上沒有意義,它往往蘊含著前後端互動 ...

Oracle mysql的分頁語句

oracle分頁查詢格式 select from select a.rownum rn from select from table name a where rownum 40 where rn 21 其中最內層的查詢select from table name表示不進行翻頁的原始查詢語句。row...