此问题在此处已有答案:
Comparing current row and next row in oracle sql(2个答案)
conditionally displaying rows based on values in next row - SQL(3个答案)
13个小时前关门了。
我有这张表:
| 员工编号|工作|年份|
| - -|- -|- -|
| 一一一|护理人员|小行星2022|
| 一一一|医生|小行星2021|
| 一一一|学生|小行星2020|
| 二百二十二|侍者|小行星2022|
| 二百二十二|学生|小行星2021|
| 三百三十三|护理人员|小行星2022|
我想再添加一列,显示同一员工的下一份工作。结果如下:
| 员工编号|工作|年份|下一作业|
| - -|- -|- -|- -|
| 一一一|护理人员|小行星2022|上一作业|
| 一一一|医生|小行星2021|护理人员|
| 一一一|学生|小行星2020|医生|
| 二百二十二|侍者|小行星2022|上一作业|
| 二百二十二|学生|小行星2021|侍者|
| 三百三十三|护理人员|小行星2022|上一作业|
2条答案
按热度按时间9o685dep1#
假设这是您的表:
使用
LEAD
分析函数更新next_job
:结果:
abithluo2#
您可以使用窗口函数LAG进行此操作
| 员工编号|工作|年份|最后作业|
| - -|- -|- -|- -|
| 一一一|护理人员|小行星2022| |
| 一一一|医生|小行星2021|护理人员|
| 一一一|学生|小行星2020|医生|
| 二百二十二|侍者|小行星2022| |
| 二百二十二|学生|小行星2021|侍者|
| 三百三十三|护理人员|小行星2022| |
fiddle