Ich versuche, den Saldo auf einem Konto nach Monat zusammengefasst, nach Konto und Monat gruppiert. Um zum Beispiel einer Transaktion Tabelle, die wie folgt aussieht:SQL-Abfrage zum Zurückgeben der Summe der Spalte nach Monaten gruppiert, einschließlich aller vorherigen Daten
| 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 |
ich die Abfrage zurückgeben möchte:
| 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 |
ich damit begonnen:
SELECT MONTH(date), YEAR(date), account_id, SUM(trans_amount)
FROM transactions
GROUP BY account_id, MONTH(date), YEAR(date);
aber natürlich das gibt die Änderung während des gruppierten Zeitraums, nicht den Saldo einschließlich Transaktionen vor dem Zeitraum.
Woher kommt 'amount_cents'? – LONG
Guter Fang - sollte 'trans_amount' sein. Bearbeitet. – MattH