ITPub博客

首页 > 数据库 > Oracle > oracle rownum

oracle rownum

原创 Oracle 作者:huakaibird 时间:2007-12-25 14:54:28 0 删除 编辑

1. Use the analytic function is the best way.
row_number() over ( partition by col1 order by col2 )

for example: get records between 100 and 150, order by tname.

select tname,tabtype from (
select tname,tabtype,row_number() over ( order by tname ) rn from tab
)
where rn between 100 and 150;

2. use rownum
select tname,tabtype from (
select tname,tabtype,rownum rn from tab where rownum <= 150
)
where rn >= 100;

Use rownum, you can not order the whole records when using order by, it will get the front records then order these records.

But if the order by field is primary key, it is a exception, it will order the whole records first, then get the front records.

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/545828/viewspace-995738/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    41
  • 访问量
    426500