我有一個表,其中包含兩列 - 日期金額(使用情況)。我想比較我與去年與去年相比的用法
數據
Date Amount
01-01-2015 23
02-01-2015 24
03-01-2015 19
04-01-2015 11
05-01-2015 5
06-01-2015 23
07-01-2015 21
08-01-2015 6
09-01-2015 26
10-01-2015 9
[...]
01-01-2016 30
02-01-2016 19
03-01-2016 5
04-01-2016 8
05-01-2016 15
06-01-2016 27
07-01-2016 19
08-01-2016 21
09-01-2016 24
10-01-2016 27
[until today's date]
使用SQL語句應該返回結果到今天的日期和差異應該是總運行 - 在2016年減了一天的量2015年同一天的金額加上以前的差額。假設今天是1月10日,結果將是:
Day Diff
01-01-2016 7 (30-23)
02-01-2016 2 (19-24+7)
03-01-2016 -12 (5-19+2)
04-01-2016 -15 (8-11-12)
05-01-2016 -5 (and so on...)
06-01-2016 -1
07-01-2016 -3
08-01-2016 12
09-01-2016 10
10-01-2016 28
我想不出這樣做時,數據都在一個表...
感謝
不幸的是,保持運行的時候,總是一件事SQL(任何類型)不是很好,除非你使用存儲過程(sqlite3本身沒有)。在MySQL中,你也可以使用@variables來克服這個限制,但是一般來說,你需要在這裏使用外部過程語言。 – barrycarter
您可以通過在日期等於或小於日期並執行總和()的情況下將表加入自身來獲得運行總額。通過將日期和月份的一年運行總數加入下一年的運行總和,您可以獲得逐年比較。 – Rabbit
@Rabbit你能告訴我怎麼做? –