淺析Oracle(rownum)和Mysql(limit)分頁的區別
Mysql使用limit分頁而Oracle使用rownum分頁,下面通過本文給大家介紹Oracle和Mysql分頁的區別,需要的的朋友參考下吧
一、Mysql使用limit分頁
select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize
PS:
(1)第一個引數值m表示起始行,第二個參數列示取多少行(頁面大小)
(2)m= (2-1)*10+1,n=10 ,表示 limit 11,10從11行開始,取10行,即第2頁資料。
(3)m、n引數值不能在語句當中寫計算表示式,寫到語句之前必須計算好值。
二、Oracle使用rownum分頁
select * from (
select rownum rn,a.* from table_name a where rownum <= x
//結束行,x = startPage*pageSize
)
where rn >= y; //起始行,y = (startPage-1)*pageSize+1
PS:
(1)>= y,<= x表示從第y行(起始行)~x行(結束行) 。
(2)rownum只能比較小於,不能比較大於,因為rownum是先查詢後排序的,例如你的條件為rownum>1,當查詢到第一條資料,rownum為1,則不符合條件。第2、3...類似,一直不符合條件,所以一直沒有返回結果。所以查詢的時候需要設定別名,然後查詢完成之後再通過呼叫別名進行大於的判斷。
轉載自:http://www.jb51.net/article/123002.htm
相關文章
- mysql分頁-limit offset分頁MySqlMIT
- oracle中rownum和rowid的區別Oracle
- Oracle Rownum分頁改寫Oracle
- mysql 使用技巧 分頁limitMySqlMIT
- oracle 使用rownum進行分頁的陷阱Oracle
- rowid和rownum的區別
- Oracle分頁(limit方式的運用)OracleMIT
- 淺析mybatis中${}和#{}取值區別MyBatis
- oracle 使用rownum進行分頁的陷阱(2)Oracle
- MySQL和Oracle的區別MySqlOracle
- Oracle和MySQL的區別OracleMySql
- oracle中rownum,sql server中top函式,mysql中limit[轉載]OracleServer函式MySqlMIT
- 【oracle rowid與rownum的使用與區別 】Oracle
- Oracle Xmltype型別淺析OracleXML型別
- oracle rownum分頁與顯示記錄小測Oracle
- mysql中limit的用法詳解[資料分頁常用]MySqlMIT
- 淺析VO、DTO、DO、PO的概念、區別和用處
- MySql/Oracle和SQL Server的分頁查MySqlOracleServer
- 淺析MySQL InnoDB的隔離級別MySql
- Oracle rownum 分頁引起的效率問題及優化思路Oracle優化
- Oracle 和 mysql的9點區別OracleMySql
- MySQL order by limit 分頁資料重複問題MySqlMIT
- Mysql系列第八講 詳解排序和分頁(order by & limit)及存在的坑MySql排序MIT
- Oracle rownum 分頁引起的效率問題及最佳化思路Oracle
- 淺析賦值、淺拷貝、深拷貝的區別賦值
- Mysql中tinyint(1)和tinyint(4)的區別詳析WIFRMySql
- Oracle Lob型別儲存淺析Oracle型別
- Oracle的rownum原理和使用Oracle
- MySQL LIMIT 如何改寫成Oracle limitMySqlMITOracle
- oracle的TAF淺析Oracle
- NULL在oracle和mysql索引上的區別NullOracleMySql索引
- MySQL Replication淺析MySql
- 淺析MySQL replace into 的用法MySql
- Rownum分頁故障解決一例
- MySQL、Oracle和SQL Server的分頁查詢語句MySqlOracleServer
- mysql與Oracle的區別MySqlOracle
- MySql(一) 淺析MySql索引MySql索引
- mySql\oracle分頁機制MySqlOracle