Mysql与Oracle分页的区别详解

黄舟
Lepaskan: 2017-09-06 14:43:38
asal
1978 orang telah melayarinya

Mysql使用limit分页而Oracle使用rownum分页,下面通过本文给大家介绍Oracle和Mysql分页的区别,需要的的朋友参考下吧

一、Mysql使用limit分页


select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize
Salin selepas log masuk

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
Salin selepas log masuk

PS:

(1)>= y,<= x表示从第y行(起始行)~x行(结束行) 。

(2)rownum只能比较小于,不能比较大于,因为rownum是先查询后排序的,例如你的条件为rownum>1,当查询到第一条数据,rownum为1,则不符合条件。第2、3...类似,一直不符合条件,所以一直没有返回结果。所以查询的时候需要设置别名,然后查询完成之后再通过调用别名进行大于的判断。

总结

Atas ialah kandungan terperinci Mysql与Oracle分页的区别详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan