last_value()函数如果不写partition by()不应该是像first_value()取整体的第一个一样取整体的最后一个吗?为什么仍是取以deptno分区后的最后一个?
deptno | sal
--------+---------
0 | 5000.00
20 | 800.00
20 | 1600.00
20 | 2975.00
30 | 1600.00
30 | 3000.00
(6 rows)
bank=# select distinct deptno,first_value(sal) over(order by deptno) from emp;
deptno | first_value
--------+-------------
30 | 5000.00
0 | 5000.00
20 | 5000.00
(3 rows)
bank=# select distinct deptno,last_value(sal) over(order by deptno) from emp;
deptno | last_value
--------+------------
30 | 3000.00
0 | 5000.00
20 | 2975.00
(3 rows)