我有一个包含4列的表:Worker_id、Month、Basic_Salary. 我正在try 编写一个脚本,返回Worker_id、最后一次工资日期、第二次基本工资日期、最后一次工资金额(从BASIC_SALARY列).
以下是我写的 playbook :
with cte as (
select WORKER_ID, (select max(month) from workers_table) last_salary
, ROW_NUMBER()over (partition by worker_id order by month) rn
from workers_table
group by WORKER_ID,month
)
select *
from cte
where rn=2
以下是数据样本:
我得到的数据是:
WORKER_ID last_salary rn
2011-11-11 2022-01-04 2
2011-11-12 2022-01-04 2
2011-11-13 2022-01-04 2
2011-11-14 2022-01-04 2
2011-11-15 2022-01-04 2
2011-11-16 2022-01-04 2
LAST_SALARY列不正确,我找不到修复它的方法并获得正确的结果.