簡體   English   中英

MySQL組按連續值表示

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM