我试图将工人的工资总计为8个季度。作为列,有
employee id
quarter (1 digit int)
year (4 digit int)
quarterly_wage
year_quarter (string i created from quarter and year)
我想每行都有
employee id, year_quarter, 8 quarters of wages
如, 2名员工,一名从2010年第1季开始,第二名从2010年第4季开始。数据来自2010Q1至2014Q4。
Employ1 2010Q1 SumOfWages2010Q1_2012Q4
Employ1 2010Q2 SumOfWages2012Q2_2013Q1
Employ1 2010Q3 SumOfWages2012Q2_2013Q2
Employ1 2010Q4 SumOfWages2012Q2_2013Q3
Employ2 2010Q4 SumOfWages2010Q4_2012Q3
etc...
这将是15年,1000名员工。
任何建议都将不胜感激。
答案 0 :(得分:0)
假设您拥有所有员工的完整数据(即没有差距),您可以这样做:
select empid, year, quarter, quarterly_wage
sum(quarterly_wage) over (partition by emp_id
order by year, quarter
rows between current row and 7 following
) as wages_8quarters
from t;