SUM
Gibt die Summe der Werte eines Ausdrucks in einer Gruppe von Zeilen zurück.
PostgreSQL 17.5
SUM([DISTINCT] expression)Parameter
- DISTINCTSchlüsselwortoptional
- Nur eindeutige Werte summieren
- expressionnumeric
- Numerischer Ausdruck, dessen Werte summiert werden
Rückgabewert
Zahl: bigint für smallint und integer, numeric für bigint und numeric, derselbe Typ für real und double precision; NULL-Werte werden ignoriert, NULL bei leerer Menge, nicht 0
Beispiele
Summe aller Zahlungen
PostgreSQL 17.5
SELECT SUM(amount * unit_price) AS total
FROM Payments;Ausgaben je Familienmitglied
PostgreSQL 17.5
SELECT family_member,
SUM(amount * unit_price) AS spent
FROM Payments
GROUP BY family_member
ORDER BY family_member;Leere Zeilenmenge
PostgreSQL 17.5
SELECT SUM(unit_price) AS total
FROM Payments
WHERE unit_price < 0;Details
Um bei einer leeren Menge 0 zu bekommen, umschließt du das Ergebnis mit COALESCE: COALESCE(SUM(amount), 0). Um nur einen Teil der Zeilen einer Gruppe zu summieren, verwende FILTER (WHERE ...).