数据库分页查询

原创
2016-06-07 16:11:10 1215浏览

1) mysql select * from demowhere1=1 LIMIT 2,3 limit是用来分页的,第一个参数是行号,第二个参数是说有多少行 2) oracle 第一种 SELECT ID, FIELD_NAME,.. . FROM TABLE_NAME WHERE ID IN (SELECT ID FROM (SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAM

1) mysql

	select * from demo
	where
		1=1 LIMIT 2,3

limit是用来分页的,第一个参数是行号,第二个参数是说有多少行

2) oracle

第一种

SELECT ID, FIELD_NAME,.. .
  FROM TABLE_NAME
 WHERE ID IN (SELECT ID
                FROM (SELECT ROWNUM AS NUMROW, ID
                        FROM TABLE_NAME
                       WHERE 条件1
                       ORDER BY 条件2)
               WHERE NUMROW > 80
                 AND NUMROW < 100)
 ORDER BY 条件3;

第二种

SELECT *  
FROM   (SELECT a.*  
              ,rownum rn  
        FROM   (SELECT * FROM table_name) a  
        WHERE  rownum <= 40)  
WHERE  rn >= 21 

如果支持scrollable result,使用ResultSet的absolute方法直接移到查询起点,如果不支持的话,使用循环语句,rs.next一点点的移过去。





声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。