我有一个passenger_log
有四列的表psngr_id
(不一定是唯一的)arrival_dt_tm
,departure_dt_tm
和timediff
(乘客上次出发日期和下次到达日期之间的差异)。
从此表中,我希望能够仅选择时差小于 24 小时的行,并选择下一行。
我使用的是 SQL 2008,所以不能真正使用最新版本LEAD
和LAG
功能。
现有表 -
local_passenger_id arrival_date_time departure_date_time timediff
-----------------------------------------------------------------
00F9P0L193 28/07/2013 23:30 28/07/2013 23:36 0.516666
00F9P0L193 29/07/2013 00:07 29/07/2013 03:16 NULL
01MLEMFDUK 12/10/2008 16:43 12/10/2008 20:28 21.116666
01MLEMFDUK 13/10/2008 17:35 13/10/2008 20:19 3889.9
01MLEMFDUK 24/03/2009 22:13 25/03/2009 01:23 32268
01MLEMFDUK 28/11/2012 13:23 28/11/2012 14:10 676.583333
01MLEMFDUK 26/12/2012 18:45 26/12/2012 19:27 20.433333
01MLEMFDUK 27/12/2012 15:53 27/12/2012 17:07 289.2
01MLEMFDUK 08/01/2013 18:19 08/01/2013 19:00 NULL
02CJHH6KAJ 27/02/2011 09:48 27/02/2011 11:56 10167.25
02CJHH6KAJ 26/04/2012 03:11 26/04/2012 06:42 44.566666
02CJHH6KAJ 28/04/2012 03:16 28/04/2012 07:06 23.233333
02CJHH6KAJ 29/04/2012 06:20 29/04/2012 09:45 NULL
所需的输出 -
local_passenger_id arrival_date_time departure_date_time timediff_mins
----------------------------------------------------------------------
00F9P0L193 28/07/2013 23:30 28/07/2013 23:36 0.516666
00F9P0L193 29/07/2013 00:07 29/07/2013 03:16 NULL
01MLEMFDUK 12/10/2008 16:43 12/10/2008 20:28 21.116666
01MLEMFDUK 13/10/2008 17:35 13/10/2008 20:19 3889.9
01MLEMFDUK 26/12/2012 18:45 26/12/2012 19:27 20.433333
01MLEMFDUK 27/12/2012 15:53 27/12/2012 17:07 289.2
02CJHH6KAJ 28/04/2012 03:16 28/04/2012 07:06 23.233333
02CJHH6KAJ 29/04/2012 06:20 29/04/2012 09:45 NULL