我需要相互减去两个日期(start_time(n + 1)-end_time(n)),这两个日期分为两个不同的行和列,分区为id。请看下表:
row |id| Start_time | end_time
----+--+---------------------+------------------------
1 |14|"2012-06-16 21:43:00"|"2012-06-16 23:54:00"
2 |14|"2012-06-19 13:09:00"|"2012-06-19 23:59:00"
3 |21|"2016-04-12 14:46:00"|"2016-04-25 13:55:00"
4 |21|"2016-04-20 09:35:00"|"2016-04-20 22:00:00"
5 |24|"2011-09-19 19:20:00"|"2011-09-19 22:15:00"
6 |24|"2011-09-20 19:01:00"|"2011-09-22 14:05:00"
7 |30|"2009-10-21 07:25:00"|"2009-10-21 10:59:00"
8 |30|"2009-10-27 16:01:00"|"2009-11-10 16:00:00"
9 |30|"2009-10-28 08:13:00"|"2009-10-28 23:59:00"
10 |36|"2015-11-23 12:21:00"|"2015-11-23 15:19:00"
示例:对于id = 14,我需要从第2行的start_time中减去第1行中的end_time,并将结果存储在新列中。我的主要目的是找到每个ID的每个测量之间的时间差。 它有可能吗?
我的首选结果就像差异列:
row |id| Start_time | end_time | diff
----+--+---------------------+---------------------+------------
1 |14|"2012-06-16 21:43:00"|"2012-06-16 23:54:00"|
2 |14|"2012-06-19 13:09:00"|"2012-06-19 23:59:00"|"2 days 13:15:00"
3 |21|"2016-04-12 14:46:00"|"2016-04-25 13:55:00"|
4 |21|"2016-04-20 09:35:00"|"2016-04-20 22:00:00"|"-5 days -04:20:00"
5 |24|"2011-09-19 19:20:00"|"2011-09-19 22:15:00"|
6 |24|"2011-09-20 19:01:00"|"2011-09-22 14:05:00"|"20:46:00"