0
是否可以使用mysql來獲取累計值給定日期範圍內的總和?將按日期累積的值序列轉換爲非累積值
假設數據是這樣的(是不是需要開始上週六 - 晝列累計星期,就在那裏展現的變化,更容易可視化):
Date Day Value
03/11/2016 Thursday 15
04/11/2016 Friday 18
05/11/2016 Saturday 4
06/11/2016 Sunday 6
07/11/2016 Monday 8
08/11/2016 Tuesday 10
09/11/2016 Wednesday 13
10/11/2016 Thursday 17
11/11/2016 Friday 18
12/11/2016 Saturday 2
13/11/2016 Sunday 4
14/11/2016 Monday 6
and so on...
因此,例如,如果我問了結果從2016年3月11日到2016年4月11日我期望看到:3(18-15) 從2016/11/11到07/11/2016:(18-15)+4 +(6- 4)+(8-6)= 11
或把它更好上表中應該被變換爲:
Date Day Value
03/11/2016 Thursday -
04/11/2016 Friday 3
05/11/2016 Saturday 4
06/11/2016 Sunday 2
07/11/2016 Monday 2
08/11/2016 Tuesday 2
09/11/2016 Wednesday 3
10/11/2016 Thursday 4
11/11/2016 Friday 1
12/11/2016 Saturday 2
13/11/2016 Sunday 2
14/11/2016 Monday 2
在PHP或其他語言我只想去像(僞):
If (day != Saturday) {value = currentvalue-yesterdayvalue} else {value = currentvalue)
理想情況下,我想獲得在MySQL
這一個使用[MySQL用戶變量(HTTP: //dev.mysql.com/doc/refman/5.7/en/user-variables.html)我相信這是可能的。你會使用case語句來檢查星期六並重新初始化變量回到基值。每次之後,您都會將新價值減去基本價值。您可能需要第二個變量來存儲先前記錄的原始值。 – xQbert
根據您的示例,還有一條附加規則:如果當天的值小於前一個值,則按原樣呈現(請參閱05/11/2016的情況)。我對嗎? – FDavidov
這是因爲星期六這些值會被重置,所以無論星期六保持原樣。這些值是一些銷售數據的累計浪費。除了星期六以外,沒有辦法使當天的價值會比昨天的價格低。 –