ice world

There is nothing too difficult if you put your heart into it.
posts - 104, comments - 103, trackbacks - 0, articles - 0

Oracle分页SQL

Posted on 2011-04-13 20:22 IceWee 阅读(191) 评论(0)  编辑  收藏 所属分类: Database
错误写法:
select a.*, rownum rfrom (select * from lg_order o order by o.order_id) awhere rownum <= 20 and rownum >= 10


正确写法:

select *from (select a.*, rownum r          from (select * from lg_order o order by o.order_id) a where rownum <= 20) bwhere r >= 10


第一句是错误的,由于rownum是一个总是从1开始的伪列,Oracle 认为这种条件不成立,查不到记录

SQL的执行顺序从内到外,从右到左。


只有注册用户登录后才能发表评论。


网站导航: