我在Hive表中有一些資料,看起來像這樣 -
| VIN |
Mode | 事件開始
結束 |
| ABC123456789 |
模式1 |
01/01/2010 00:00:00 |
05/05/2014 14:54:54 |
ABC123456789 |
模式1 |
Deauthorized |
05/05/2014 14:54:54 | 05/13/2014 19:09:00
| 05/13/2014 19:09:51 |
ABC123456789 |
模式1 |
Deauthorized |
05/13/2014 19:09:51 |
11/13/2014 22:26:32 |
ABC123456789 |
模式1 |
授權 | 11/13/2014 22:26:32
11/13/2014 22:31:00
| 11/13/2014 22:31:00 |
ABC123456789 |
模式1 |
授權 | 11/13/2014 22:31:00 11/13/2014 22:31:00 |
11/14/2014 01:23:56 |
ABC123456789 |
模式2 |
11/14/2014 01:23:56 | 11/14/2014 01:23:56 |
11/18/2014 19:38:51 |
ABC123456789 |
模式2 |
11/18/2014 19:38:51 | 11/18/2014 19:38:51>
| 11/18/2014 19:38:54 |
| 11/18/2014 19:38:54 |
ABC123456789 |
模式2 |
11/18/2014 19:38:54 | 11/18/2014 19:38:54>
| 11/18/2014 20:07:52 |
11/18/2014 20:07:52
| ABC123456789 |
模式2 |
授權 | 11/18/2014 20:07:52
12/17/2014 19:22:50 |
ABC123456789 |
模式2 |
授權 | 12/17/2014 19:22:50
02/25/2015 20:03:44 | 。
ABC123456789 |
模式2 |
授權 | 02/25/2015 20:03:44 02/25/2015 20:03:44 |
02/25/2015 20:03:48 |
ABC123456789 |
模式3 |
授權 | 02/25/2015 20:03:48 02/25/2015 20:03:48 |
02/25/2015 20:14:05 |
ABC123456789 |
模式3 |
Deauthorized |
02/25/2015 20:14:05 | 02/25/2015 20:14:05 |
02/25/2015 20:14:29 |
ABC123456789 |
模式3 |
Deauthorized | 02/25/2015 20:14:29 02/25/2015 20:14:29>
| 02/25/2015 20:40:21 |
我想得到一個匯總的資料,其中事件列的值與之前的值有變化。資料點是按照開始時間戳的升序排列的。我試過window函式,但它對我不起作用。結果類似于我在下表中顯示的情況。你能為這個問題提出任何優化的解決方案嗎?
| VIN |
Mode | 事件開始
結束 |
| ABC123456789 |
模式1 |
01/01/2010 00:00:00 |
05/05/2014 14:54:54 |
ABC123456789 |
模式1 |
授權 | 11/13/2014 22:26:32 11/13/2014 22:31:00
| 11/13/2014 22:31:00 |
ABC123456789 |
模式2 |
11/14/2014 01:23:56 | 11/14/2014 01:23:56 |
11/18/2014 19:38:51 |
ABC123456789 |
模式2 |
授權 | 11/18/2014 20:07:52
12/17/2014 19:22:50 |
ABC123456789 |
模式3 |
02/25/2015 20:14:05 | 02/25/2015 20:14:05 |
02/25/2015 20:14:29 |
uj5u.com熱心網友回復:
你可以使用lag():
select t.*
from (select t.*,
lag(event) over(partition by vin order by start) as prev_event
from t
) t
where prev_event is null or prev_event <>/span> event。
這是按時間和vin查看變化。 我不確定mode是否也是相關的。 如果是的話,把它加到partition by中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/326841.html
標籤:
上一篇:SQL獲取每個成員的最新可用性
下一篇:為什么numpy和pytorch在均值和方差歸一化后給出不同的結果?