row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,
现表salary有如下数据,取出各人最近一次的salary,
执行sql:
select *
from (select t1.*,
row_number() over(partition by t1.ename order by t1.time desc nulls last) row_index
from salary t1)
where row_index = 1;
结果如下: