一、Mysql使用limit分頁
select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize
PS:
(1)第一個參數(shù)值m表示起始行,第二個參數(shù)表示取多少行(頁面大小)
(2)m= (2-1)*10+1,n=10 ,表示 limit 11,10從11行開始,取10行,即第2頁數(shù)據(jù)。
(3)m、n參數(shù)值不能在語句當(dāng)中寫計算表達(dá)式,寫到語句之前必須計算好值。
二、Oracle使用rownum分頁
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只能比較小于,不能比較大于,因為rownum是先查詢后排序的,例如你的條件為rownum>1,當(dāng)查詢到第一條數(shù)據(jù),rownum為1,則不符合條件。第2、3...類似,一直不符合條件,所以一直沒有返回結(jié)果。所以查詢的時候需要設(shè)置別名,然后查詢完成之后再通過調(diào)用別名進(jìn)行大于的判斷。
總結(jié)
以上所述是小編給大家介紹的Oracle和Mysql分頁的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VeVb武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答
圖片精選