我有rate_history表,其中包含每个雇员的数据及其在工作岗位上的比率变化。我想在单个查询中获取每个员工的职位变动。所选作业是连续行中具有最新更新的作业。请注意,随着时间的推移,可以将相同的工作职位重新分配给员工。
id job_id updated 1 1 01-01-2015 2 1 01-02-2015 3 2 01-01-2015 4 2 01-03-2015 5 2 01-02-2015 6 1 01-01-2015
结果应该是:
id job_id updated 1 1 01-01-2015 3 2 01-01-2015 6 1 01-02-2015
好的,这是我对您提供的输出的理解基础上的小提琴链接,
您可以使用行号(不适用于mysql,但使用环形交叉路口),然后获取具有job_ids与以前的记录不同的记录。
小提琴链接
select t1.id , t1.job_id , t1.updatedate , t2.rn as rnt2 from temprwithrn as t1 left join temprwithrn as t2 on t1.rn = t2.rn + 1 where t1.job_id <> t2.job_id or t2.job_id is null