我只需要按ID在一個分區中的前100個密鑰和即將到來的101個密鑰之間的日期時間差異,即如果下一個密鑰值也爲101,則採用該關鍵日期時間值,即id = 1。 101鍵即將到來的100鍵也一樣。我嘗試使用窗口函數,但沒有得到確切的答案。比較SQL Server中的第一行和第n行
ID Name Key datetime
1 AAA 100 2016-07-01 09:32:48.000
1 AAA 100 2016-07-01 13:31:02.000
1 AAA 100 2016-07-01 14:10:57.000
1 AAA 101 2016-07-01 15:12:09.000
1 AAA 100 2016-07-01 15:12:17.000
1 AAA 100 2016-07-01 15:18:36.000
1 AAA 101 2016-07-01 15:34:16.000
2 BBB 100 2016-07-04 09:26:15.000
2 BBB 100 2016-07-04 13:40:52.000
2 BBB 101 2016-07-04 14:18:26.000
2 BBB 101 2016-07-04 18:34:29.000
2 BBB 100 2016-07-04 18:34:32.000
2 BBB 101 2016-07-04 23:04:32.000
進出料應該像
ID Name Key datetime In Out
1 AAA 100 2016-07-01 09:32:48.000 05:39:21
1 AAA 100 2016-07-01 13:31:02.000
1 AAA 100 2016-07-01 14:10:57.000
1 AAA 101 2016-07-01 15:12:09.000 00:06:27
1 AAA 100 2016-07-01 15:12:17.000 00:21:59
1 AAA 100 2016-07-01 15:18:36.000
1 AAA 101 2016-07-01 15:34:16.000
2 BBB 100 2016-07-04 09:26:15.000 09:08:14
2 BBB 100 2016-07-04 13:40:52.000
2 BBB 101 2016-07-04 14:18:26.000
2 BBB 101 2016-07-04 18:34:29.000 00:00:03
2 BBB 100 2016-07-04 18:34:32.000 04:30:00
2 BBB 101 2016-07-04 23:04:32.000
添加預期的輸出 –
古溫德·辛格datetime列值之差即差 '2016年7月1日09:32:48.000' 和「2016年7月1日15 :12:09.000' – Jalandhar
請編輯您的問題並解釋輸出 – TheGameiswar