查询分页常用的语句
db2查询分页:
========
 
表中前20条记录:select * from news where classid=4 order by id desc fetch first 20 rows only
 
表中20条记录:
select * from
(
    select id,title,content,rownumber() over (order by id desc) as row_next
    from news
    where classid=4
) as temp where row_next between 21 and 40
 

如果去掉 row_next 子句( ROW_NEXT BETWEEN ? and ? ),那么将返回所有匹配选择标准的行。

上面使用的 SELECT * FROM 子句可以看作一个临时表,里面存有匹配选择标准的整个结果集,然后从这个临时表中返回落在给定行范围内的结果集。

使用 rownumber() 功能时对系统会有额外的性能影响,因为数据库首先要获取所有匹配选择标准的行,然后再返回落在给定范围内的那些行。

 oracle查询分页
==========

select * from
(
    select rownum num,title,conten
  from new
    where rownum <= 20
    order by id desc
)
where num > 10

 hibernate分页
==========

Query q = session.createQuery("from Cat as c");
q.setFirstResult(20000);
q.setMaxResults(100);
List l = q.list();

posted on 2006-03-01 18:23  rickyxing  阅读(122)  评论(0编辑  收藏  举报