-1
は、私は、IDのtask_end_timeある特定のIDのtask_end_timeの前の行であり、別の列を追加することによってテーブルを更新する必要があり、この表から以下の形式postgresqlの導入方法は?
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
のテーブルを持っています。
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
これはpostgresqlで簡単に行うことができますか、これを実装するにはJAVAを使用する必要がありますか?どんな助けもありがとうございます。
多くは、簡単な質問には、これはアップデート 'にSQLを変更することで、更新のために働くん...更新試し用previous_task_end_time = LAG(task_end_time)OVER(task_end_time BYのid ORDER BY PARTITION)' – Ricky
番号設定のおかげで'UPDATE mytable a SET previous_task_end_time =(SELECT MAX(b.task_end_time)FROM mytable b WHERE b.id = a.idおよびb.task_end_time
Andreas