|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
分析函数last_value的疑惑
[php]SQL> select * from z;
EMP_ID MANAGER_ID LEV PART
---------- ---------- ---------- ----------
001 101 1 0
101 201 2 0
201 301 3 0
401 405 1 1
108 401 2 1
SQL> select first_value (emp_id) over (partition by part order by lev) e_id,
2 manager_id m_id,
3 lev,
4 part
5 from z;
E_ID M_ID LEV PART
---------- ---------- ---------- ----------
001 101 1 0
001 201 2 0
001 301 3 0
401 405 1 1
401 401 2 1
SQL> select last_value (emp_id) over (partition by part order by lev) e_id,
2 manager_id m_id,
3 lev,
4 part
5 from z;
E_ID M_ID LEV PART
---------- ---------- ---------- ----------
001 101 1 0
101 201 2 0
201 301 3 0
401 405 1 1
108 401 2 1
-------------------------------------------------------
[/php]
为什么last_value这个输出的不是如下的结果呢?
E_ID M_ID LEV PART
---------- ---------- ---------- ----------
201 301 3 0
201 201 2 0
201 101 1 0
108 401 2 1
108 405 1 1
我知道用first_value把排序条件改为desc可以得到这个结果,但是不明白last_value为什么不象first_value那样分组后按照排序条件取最后一个?last_value的作用什么呢?
|
|