[英]MySQL Group by consecutive values
我有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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.