Ich kann nicht glauben, dass die akzeptierte Antwort so viele positive Stimmen hat – es ist eine schreckliche Methode.
Hier ist der richtige Weg, mit date_trunc:
SELECT date_trunc('month', txn_date) AS txn_month, sum(amount) as monthly_sum
FROM yourtable
GROUP BY txn_month
Es ist eine schlechte Praxis, aber es könnte Ihnen vergeben werden, wenn Sie
verwenden GROUP BY 1
in einer sehr einfachen Abfrage.
Sie können auch
verwenden GROUP BY date_trunc('month', txn_date)
wenn Sie das Datum nicht auswählen möchten.