我有以下格式的數據並希望以第二種格式輸出它。我已經嘗試了自己的數據和組的自我加入ID,時間和事件,但沒有我試過似乎正常工作。查詢以獲得每個組的最大時間
EV-2的時間是開始時間,EV-5的時間是結束時間。 EV-5時間可以寫爲每個EV-2-EV-5事件的結束時間。
感謝您對此事的任何指導。
ID TIME EVENT
1 2016-03-21 12:30:00.000 EV-1
1 2016-03-21 12:30:30.000 EV-2
1 2016-03-21 12:33:00.000 EV-3
1 2016-03-21 12:33:00.000 EV-4
1 2016-03-21 12:33:45.000 EV-5
1 2016-03-21 12:33:50.000 EV-1
1 2016-03-21 12:33:55.000 EV-2
1 2016-03-21 12:35:15.000 EV-3
1 2016-03-21 12:35:15.000 EV-4
1 2016-03-21 12:40:20.000 EV-5
2 2016-03-21 12:40:50.000 EV-1
2 2016-03-21 12:41:25.000 EV-2
2 2016-03-21 12:41:25.000 EV-3
2 2016-03-21 12:42:13.000 EV-4
2 2016-03-21 12:47:35.000 EV-5
Output
ID TIME(startTime) EVENT endTime
1 2016-03-21 12:30:00.000 EV-1
1 2016-03-21 12:30:30.000 EV-2 2016-03-21 12:33:45.000
1 2016-03-21 12:33:00.000 EV-3 2016-03-21 12:33:45.000
1 2016-03-21 12:33:00.000 EV-4 2016-03-21 12:33:45.000
1 2016-03-21 12:33:45.000 EV-5 2016-03-21 12:33:45.000
1 2016-03-21 12:33:50.000 EV-1
1 2016-03-21 12:33:55.000 EV-2 2016-03-21 12:40:20.000
1 2016-03-21 12:35:15.000 EV-3 2016-03-21 12:40:20.000
1 2016-03-21 12:35:15.000 EV-4 2016-03-21 12:40:20.000
1 2016-03-21 12:40:20.000 EV-5 2016-03-21 12:40:20.000
2 2016-03-21 12:40:50.000 EV-1
2 2016-03-21 12:41:25.000 EV-2 2016-03-21 12:47:35.000
2 2016-03-21 12:41:25.000 EV-3 2016-03-21 12:47:35.000
2 2016-03-21 12:42:13.000 EV-4 2016-03-21 12:47:35.000
2 2016-03-21 12:47:35.000 EV-5 2016-03-21 12:47:35.000
我已經試過:
select d.ID, d.TIME, d.EVENT, max(dd.TIME) endTime
from dataTable d
inner join dataTable dd on d.ID = dd.ID and d.EVENT = dd.EVENT and d.TIME < dd.TIME
group by d.ID, d.TIME, d.EVENT
什麼是你的DBMS? – Siyual
你可以顯示你的查詢嗎? –
選擇d.ID,d.TIME,d.EVENT,最大值(dd.TIME)從dataTable中d ENDTIME 內上d.ID = dd.ID和 d.EVENT = dd.EVENT和 加入的dataTable DD d.TIME