数据库分页查询

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一点点的移过去。







郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。