在web开发过程中,我们经常会用到分页来进行信息的展示,实现分页的方法有很多种,比如说在程序里写一些工具来实现,但是当使用人数过多的时候对于效率的要求是很高的,所以有一个思路就是在数据库执行SQL语句的时候就完成分页,当然不同的数据库也有相应的实现分页的方法,本文写出MySQL和ORCALE三种数据库实现分页查询的方法。
1、MySql
select * from table where… limit 10; 返回前10行
select * from table where… limit0,10; 返回前10行
select * from table where… limit10,20; 返回第10-20行数据
以此类推。。。
2、ORCALE
可以使用row_number()函数或者rownum 虚列两种方法:
row_number()函数:
select * from(
select t.*,row_number() over (order by t1.id) rowno from TABLE
)
where rowno between 21 and 40;
rownum 虚列:
select * from
(select t.*,rownum as rowno from TABLE )
where rowno between 10 and 20;
第二种方式的效率会更高一点(因为没有使用order by)