1、MySql分页
select * from table_name limit 1,5;(第一个参数从第几条记录开始,第二个参数每页显示几条记录)
2、Oracle分页(select * from table_name where ROWNUM>=1 and ROWNUM<=15)
SELECT *FROM
(SELECT a.*, ROWNUM rn FROM
(SELECT * FROM table_name) a WHERE ROWNUM <= 5)
WHERE rn >= 1
带条件与排序的写法
1:无ORDER BY排序的写法。(效率最高)
(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!)
SELECT *
FROM (SELECT ROWNUM AS rowno, t.*
FROM emp t
WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd')
AND TO_DATE ('20060731', 'yyyymmdd')
AND ROWNUM <= 20) table_alias
WHERE table_alias.rowno >= 10;
2:有ORDER BY排序的写法。(效率最高)
(经过测试,此方法随着查询范围的扩大,速度也会越来越慢哦!)
SELECT *
FROM (SELECT tt.*, ROWNUM AS rowno
FROM ( SELECT t.*
FROM emp t
WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd')
AND TO_DATE ('20060731', 'yyyymmdd')
ORDER BY create_time DESC, emp_no) tt
WHERE ROWNUM <= 20) table_alias
WHERE table_alias.rowno >= 10;