【发布时间】:2015-08-16 13:39:50
【问题描述】:
我有一个表,其中包含每个员工的条目。每次他们换工作时,都会创建一个新条目。这是按日期完成的。所以,员工,开始日期,工作,结束日期。我正在寻找每个员工最近的工作和他们以前的工作。我可以得到最大或最近的工作,但得到以前的工作是我遇到的问题。
列标题:员工、开始日期、工作、结束日期
以下是我尝试过的:
with E as
(select
rownum = row_number() over (partition by employee order by startdate)
,employee
,startdate
,job
,enddate
from table )
Select *
from E
where e.rownum >1
任何帮助将不胜感激。
提前致谢。
【问题讨论】:
-
rownum = row_number()是无效的 SQL。您不能在这样的 SQL 语句中分配变量。