我有一個非常奇怪的問題。我有如下44萬人次的紀錄表:僅過濾postgres表中的值更改
SKU | Timestamp | Status
A | 21-09-2016 12:30:00 | 1
B | 21-09-2016 12:30:00 | 1
C | 21-09-2016 12:30:00 | 1
D | 21-09-2016 12:30:00 | 1
A | 21-09-2016 12:39:00 | 0
B | 21-09-2016 12:40:00 | 0
C | 21-09-2016 12:40:00 | 0
D | 21-09-2016 12:45:00 | 0
A | 21-09-2016 12:52:00 | 1
A | 21-09-2016 12:56:00 | 1
A | 21-09-2016 12:58:00 | 1
B | 21-09-2016 12:59:00 | 1
A | 21-09-2016 21:30:00 | 0
現在的要求是我們應該考慮只有在狀態發生變化的記錄。例如,在上表中,SKU A從21-09-2016 12:30:00開始狀態爲1。我們現在就來看看未來的記錄,看看做了記錄變化時,當狀態變爲0,因此下一個變化是在21-09-2016 21:30:00看到現在,我們需要一個表與下面的輸出
SKU | Timestamp | Status
A | 21-09-2016 12:30:00 | 1
A | 21-09-2016 12:39:00 | 0
A | 21-09-2016 12:52:00 | 1
A | 21-09-2016 21:30:00 | 0
B | 21-09-2016 12:30:00 | 1
B | 21-09-2016 12:40:00 | 0
B | 21-09-2016 12:59:00 | 1
C | 21-09-2016 12:30:00 | 1
C | 21-09-2016 12:40:00 | 0
D | 21-09-2016 12:30:00 | 1
D | 21-09-2016 12:45:00 | 0
無需鉛 –
嗨戈登,感謝您的回答。我們應該預計這將花費4400萬記錄表/ –
@SaurabhOmar。 。 。 '(sku,timestamp,status)'上的索引應該有助於加快查詢速度。 –