我的表格中包含 car_id , stop_location , arrival_time 和 leave_time 列。我想添加一个列 stop_sequence ,它将从1开始,每行增加1,具有相同的 car_id ,然后再次从1开始,用于下一个< strong> car_id (按car_id,arri_time排序)。
它应该是这样的:
car_id stop_lcn arr_time leave_time stop_sequence
A Home -- 0900 1
A Shop 1000 1100 2
A Work 1130 1700 3
B Home -- -- 1
C Home -- 0900 1
C School 0930 1600 2
如果有人能告诉我如何添加这个额外的专栏,我将非常感谢您的帮助!
答案 0 :(得分:1)
只需使用分析功能:
select c.*,
row_number() over (partition by car_id order by leave_time) as stop_sequence
from cars c;
实际上,在写完之后,我看到@Lennart在评论中给出了这个答案。如果那个人回答了这个问题,我会删除这个答案。