Ich habe eine Tabelle in das unten stehende FormatWie in Postgresql führen?
id task_start_time task_end_time
__ _______________ _____________
1 2017-03-21 00:09:10 2017-03-21 00:12:18
1 2017-03-21 00:12:19 2017-03-21 00:12:56
1 2017-03-21 00:12:57 2017-03-21 00:13:10
2 2017-03-21 10:09:10 2017-03-21 10:25:34
2 2017-03-21 10:25:34 2017-03-21 11:09:10
2 2017-03-21 11:09:10 2017-03-21 11:21:39
3 2017-03-21 12:09:10 2017-03-21 12:19:19
3 2017-03-21 12:19:19 2017-03-21 12:29:19
3 2017-03-21 12:29:10 2017-03-21 12:39:10
aus dieser Tabelle Ich brauche die Tabelle zu aktualisieren, indem Sie eine weitere Spalte hinzugefügt, die die vorherige Zeile der jeweiligen ids task_end_time ist, die die task_end_time der ID ist.
id task_start_time task_end_time previous_task_end_time
__ _______________ _____________ ______________________
1 2017-03-21 00:09:10 2017-03-21 00:12:18 NA
1 2017-03-21 00:12:19 2017-03-21 00:12:56 2017-03-21 00:12:18
1 2017-03-21 00:12:57 2017-03-21 00:13:10 2017-03-21 00:12:56
2 2017-03-21 10:09:10 2017-03-21 10:25:34 2017-03-21 10:25:34
2 2017-03-21 10:25:34 2017-03-21 11:09:10 2017-03-21 11:09:10
2 2017-03-21 11:09:10 2017-03-21 11:21:39 2017-03-21 11:21:39
3 2017-03-21 12:09:10 2017-03-21 12:19:19 2017-03-21 12:19:19
3 2017-03-21 12:19:19 2017-03-21 12:29:19 2017-03-21 12:29:19
3 2017-03-21 12:29:10 2017-03-21 12:39:10 2017-03-21 12:39:10
Also kann dies leicht in postgresql getan werden oder sollte ich JAVA verwenden, um dies zu implementieren? Jede Hilfe wird geschätzt.
Vielen Dank eine kurze Frage dies für Update funktioniert funktioniert, indem die SQL in 'Update zu ändern ... previous_task_end_time = LAG (task_end_time) OVER (PARTITION BY id ORDER BY task_end_time)' – Ricky
Nr Für eine Update-Versuch eingestellt 'UPDATE mytable ein SET previous_task_end_time = (SELECT MAX (b.task_end_time) FROM Meine Tabelle b WHERE b.id = a.id UND b.task_end_time
Andreas