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、over()--我在网上找说是开窗函数,但是这个词也太抽象了,到底什么意思,用法是什么呀?
2、row_number() --这个是什么意思,表名理解是计算行数,用法是什么,说实话没有上网查过..懒了下
3、rn --是不是就是row_number()查出来的结果?
2.row_number()就是根据over(.....)进行分组排序后的行号
3.rn 就是一别名类似 select a as '序号' from table这样
---------- ---------- ----------
4 li 1
3 zhang 2
2 ares 3
1 wang 4