Mysql與Oracle分頁(yè)的區(qū)別詳細(xì)說(shuō)明
發(fā)表時(shí)間:2023-07-21 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Mysql使用limit分頁(yè)而Oracle使用rownum分頁(yè),下面通過(guò)本文給大家介紹Oracle和Mysql分頁(yè)的區(qū)別,需要的的朋友參考下吧一、Mysql使用limit分頁(yè)select * fro...
Mysql使用limit分頁(yè)而Oracle使用rownum分頁(yè),下面通過(guò)本文給大家介紹Oracle和Mysql分頁(yè)的區(qū)別,需要的的朋友參考下吧
一、Mysql使用limit分頁(yè)
select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize
PS:
(1)第一個(gè)參數(shù)值m表示起始行,第二個(gè)參數(shù)表示取多少行(頁(yè)面大。
(2)m= (2-1)*10+1,n=10 ,表示 limit 11,10從11行開(kāi)始,取10行,即第2頁(yè)數(shù)據(jù)。
(3)m、n參數(shù)值不能在語(yǔ)句當(dāng)中寫(xiě)計(jì)算表達(dá)式,寫(xiě)到語(yǔ)句之前必須計(jì)算好值。
二、Oracle使用rownum分頁(yè)
select * from (
select rownum rn,a.* from table_name a where rownum <= x
//結(jié)束行,x = startPage*pageSize
)
where rn >= y; //起始行,y = (startPage-1)*pageSize+1
PS:
(1)>= y,<= x表示從第y行(起始行)~x行(結(jié)束行) 。
(2)rownum只能比較小于,不能比較大于,因?yàn)閞ownum是先查詢后排序的,例如你的條件為rownum>1,當(dāng)查詢到第一條數(shù)據(jù),rownum為1,則不符合條件。第2、3...類(lèi)似,一直不符合條件,所以一直沒(méi)有返回結(jié)果。所以查詢的時(shí)候需要設(shè)置別名,然后查詢完成之后再通過(guò)調(diào)用別名進(jìn)行大于的判斷。
總結(jié)
以上就是Mysql與Oracle分頁(yè)的區(qū)別詳解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。