标签:
分页查询中,需要用到伪列rownum,代码如下:
select * from (select rownum rn, name from cost where rownum <= 6) where rn >3;
可是第一次用rownum,第二次用rn,位置不能变,否则出错,第一次的rownum是oracle中的一个虚拟列,
rn是给这个rownum起的别名,也就是在子查询中的别名要在外查询中调用。
如果先按工资排序,再取出6到10号,可以写成:
select * from (select rownum rn, t.* from (select * from cost order by sal desc) t where rownum < 11) where rn >= 6;
同样注意什么时候用rownum,什么时候用rn.
这样写是不被允许的:
select rownum rn from cost where rn = 1;
要写成:
select rownum rn from cost where rownum = 1;
标签:
原文地址:http://www.cnblogs.com/DarrenChan/p/5562830.html