我試圖在mySQL中完成某些工作,由於缺乏「滯後」功能以及因爲所有關於日期差異的示例,因此很難實現,因爲在所有這些例子總是有一個ID到一個日期。在這裏,我試圖在一個ID內做日期差異,並且當日期差異超過60時,然後返回1的指示符,否則爲0.在一個ID內減去多個日期
不知道最好的方法是怎麼去做這件事。是否將row_number()與日期結合使用?這個障礙是在多個ID內完成的,因爲我讀過的很多東西都沒有涵蓋。任何方向都會有幫助。 謝謝!
ID | Service Date | Date Difference | Indicator
1 | 1/22/2016 | 0 | 1
1 | 3/26/2016 | 64 | 1
1 | 5/25/2016 | 60 | 0
1 | 9/15/2016 | 113 | 1
2 | 8/1/2016 | 0 | 1
3 | 1/26/2016 | 0 | 1
3 | 3/9/2016 | 43 | 0
3 | 4/30/2016 | 52 | 0
4 | 8/9/2016 | 0 | 1
5 | 11/19/2016 | 0 | 1
6 | 10/14/2016 | 0 | 1
7 | 1/31/2016 | 0 | 1
7 | 8/11/2016 | 193 | 1
不能與MySQL使用行號無論是。 –
使用用戶變量保存上一行的日期,然後使用'DATEDIFF(service_date,@previous_date)'來獲得差異。 – Barmar
您還需要一個用於以前的ID的變量。當ID改變時,你重新開始。 – Barmar