3
我有以下幾列如何在各種事件序列中找到第一個開始時間?
VehicleId
,StatusId
,StartTime
,Comments
的數據基本上是變化的序列VehicleId
,StatusId
與它們發生的時間和評論。在過去的幾年裏,每輛車都可能有多次出現狀態。數據跨越了數年,但不是50000行的龐大數據集。我們只對每個車輛每次更換狀態的日期時間感興趣。所以這就意味着我有很多車輛和狀態ID的組合,並且依次看到第一個開始日期。所以車輛有兩個不同序列的StatusId
我想要每個序列的最早日期,VehicleId
和StatusId
。我怎麼弄到的?
我創建了一個SQL小提琴here
我看着RANK() OVER (PARTITION BY [VehicleId],[StatusID] ORDER BY StartTime) AS [Group]
等,但他們似乎並沒有幫助
輸入
VehicleId | StatusId | StartTime
1 | 1 | 2010-1-1
1 | 1 | 2010-1-2
1 | 2 | 2010-1-3
1 | 2 | 2010-1-4
1 | 1 | 2010-1-5
2 | 1 | 2010-1-2
輸出
VehicleId | StatusId | FirstStartTime
1 | 1 | 2010-1-1
1 | 2 | 2010-1-3
1 | 1 | 2010-1-5
2 | 1 | 2010-1-2
所以我基本上需要將輸出行減少到只有啓動o f每個序列加入行的任何更改,除非它是VehicileId或StatusId的更改
很好 - 正是我所需要的。行號差異的方法不是我以前見過的!將不得不做一些閱讀。 – GraemeMiller