select * from (select ename , sal , row_number() over(order by sal desc) rn from emp ) where rn between 4 and 6
这是一个分页的源码,
有几个函数我看不懂
1、over()--我在网上找说是开窗函数,但是这个词也太抽象了,到底什么意思,用法是什么呀?
2、row_number() --这个是什么意思,表名理解是计算行数,用法是什么,说实话没有上网查过..懒了下
3、rn --是不是就是row_number()查出来的结果?

解决方案 »

  1.   

    1.over你查一下oracle的分析函数
    2.row_number()就是根据over(.....)进行分组排序后的行号
    3.rn 就是一别名类似 select a as '序号' from table这样
      

  2.   

           ID NAME               RN
    ---------- ---------- ----------
             4 li                  1
             3 zhang               2
             2 ares                3
             1 wang                4