我想回報按月彙總賬戶的餘額,按帳戶和月份分組。例如,給定一個交易表,看起來像這樣:SQL查詢按月返回分組列的總和,包括所有之前的日期
| date | account_id | trans_amount |
| 2012-01-01 | 1 | -2500 |
| 2012-01-01 | 2 | -2500 |
| 2016-01-01 | 1 | 5000 |
| 2016-01-01 | 2 | 5000 |
| 2016-02-01 | 1 | 7500 |
| 2016-02-01 | 2 | 7500 |
我想查詢返回:
| month | year | account_id | balance |
| 01 | 2012 | 1 | -2500 |
| 01 | 2012 | 2 | -2500 |
| 01 | 2016 | 1 | 2500 |
| 01 | 2016 | 2 | 2500 |
| 02 | 2016 | 1 | 10000 |
| 02 | 2016 | 2 | 10000 |
我開始用這樣的:
SELECT MONTH(date), YEAR(date), account_id, SUM(trans_amount)
FROM transactions
GROUP BY account_id, MONTH(date), YEAR(date);
當然,但在分組期間給出了變化,而不是包括期間之前的交易在內的餘額。
其中'amount_cents'從何而來? – LONG
良好的捕獲 - 應該是'trans_amount'。編輯。 – MattH