查询分页常用的语句

查询分页常用的语句
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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值