我有一些包含日期的數據。我試圖按連續日期對數據進行分組,但是,日期並不完全相同。下面是一個例子:分批產生當日期不完全連續時,按連續日期記錄組記錄
DateColumn | Value
------------------------+-------
2017-01-18 01:12:34.107 | 215426 <- batch no. 1
2017-01-18 01:12:34.113 | 215636
2017-01-18 01:12:34.623 | 123516
2017-01-18 01:12:34.633 | 289926
2017-01-18 04:58:42.660 | 259063 <- batch no. 2
2017-01-18 04:58:42.663 | 261830
2017-01-18 04:58:42.893 | 219835
2017-01-18 04:58:42.907 | 250165
2017-01-18 05:18:14.660 | 134253 <- batch no. 3
2017-01-18 05:18:14.663 | 134257
2017-01-18 05:18:14.667 | 134372
2017-01-18 05:18:15.040 | 181679
2017-01-18 05:18:15.043 | 226368
2017-01-18 05:18:15.043 | 227070
數據和批量內的各行需要幾毫秒來生成。我想組結果如下:
Date1 | Date2 | Count
------------------------+-------------------------+------
2017-01-18 01:12:34.107 | 2017-01-18 01:12:34.633 | 4
2017-01-18 04:58:42.660 | 2017-01-18 04:58:42.907 | 4
2017-01-18 05:18:14.660 | 2017-01-18 05:18:15.043 | 6
它是安全的假設,如果連續兩次排在1分鐘以上,然後分開它們屬於不同的批次。
我嘗試了涉及ROW_NUMBER
函數的解決方案,但它們使用連續日期(兩行之間的日期差異是固定的)。當差異模糊時,我怎樣才能達到理想的效果?
請注意,一批可能比一分鐘長得多。例如,批次可能包含從2017-01-01 00:00:00開始到2017-01-01 00:05:00結束的行,由〜3000行組成,每行相隔數十或數百毫秒。可以肯定的是批次間隔至少1分鐘。
重新「安全......」我們不能說 - 業務或其他領域的專家會唯一可以說的人。如果批量處理,您需要每個批次的標識符,並使用 – Mark
所討論的最後兩行是否具有相同的日期時間值,或者是否是拼寫錯誤? –
@vkp這很奇怪,但不是錯字。也許在1毫秒內插入兩行或實際時間四捨五入到最接近的'datetime'值。 –