我有一个员工姓名表(作为columnA)和他们的旅行开始日期(作为columnB)。我希望每位员工获得第三高的旅行开始日期。如果员工的旅行次数少于3次,那么他们的价值应该是该员工的空值。 我正在使用DB2。需要帮忙。 感谢名单 样本标签 Sample Table & Required Output
答案 0 :(得分:0)
ROWNUMBER将完成这项工作 - 查看此查询:
with temp (employee, travel_date, nth_oldest_travel) as (
select employee,
travel_date,
rownumber() over (partition by employee order by travel_date desc)
from testemp
)
select * from temp
where nth_oldest_travel = 3
如果您需要为旅行次数少于3次的员工提供空值,请将其加入源