Oracle分页Rownum

a
oracle每张表都会自动给其加上一个 伪字段叫做 rownum
b
rownum 是按照查处的记录,按照顺序依次叠加排序的 1,2,3.......
c
在where中只能使用 <= 小于等于 来限制rownum的过滤条件
d
Oracle的分页查询数据就必须用到 rownum

而按照 对于一张表进行分页,必须得用到 三重的 select嵌套查询。

例如这个查询,查找 emp表中,按工资从高到低排列,排在第6-10的记录。
select ename,sal from
        (
             select ename,sal,rownum r from
                ( select ename,sal from emp order by sal desc)
        )
where r>=6 and r<=10
/*Oracle分页Rownum*/
select MAIL_ID,SERVER_ID,SUBDATE,DEPT,HANDDATE,USERNAME,STATUS_TICKET,BUSS_TYPE,HANDLE,rn from
( select m.*,rownum rn from ( select MAIL_ID,SERVER_ID,SUBDATE,DEPT,HANDDATE,USERNAME,STATUS_TICKET,
BUSS_TYPE,HANDLE from mail_info where 1=1 order by MAIL_ID desc)m) where rn >10*(1-1) and rn<=10*1;

你可能感兴趣的:(oracle,职场,rownum,休闲)