Zum Hauptinhalt springen
Übersetzte Seite

Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.

SUM

Gibt die Summe aller Nicht-NULL-Werte in einer Spalte oder Spaltengruppierung zurück.

Siehe auch:
[SELECT] [TOTAL]


tipp

Verwenden Sie die Funktion TOTAL, um Gleitkommazahlen oder Long-Werte zu summieren.

Syntax​

SELECT SUM(columnExpression) FROM <multipartIdentifier>
[ GROUP BY groupByColumn ];

Argumente​

columnExpression
Eine Spalte oder ein Ausdruck.

Wenn alle Werte in der columnExpression NULL sind, gibt SUM NULL zurück.

SUM löst eine "integer overflow"-Ausnahme aus, wenn zu irgendeinem Zeitpunkt der Berechnung ein Ganzzahlüberlauf auftritt. Die Funktion [TOTAL]](/language-spec/functions/aggregate/total) löst nie einen Ganzzahlüberlauf aus.

groupByColumn
Eine oder mehrere Spalten, über die Zusammenfassungs- oder Aggregatoperationen ausgeführt werden. Die GROUP BY-Klausel gibt für jede Spaltengruppierung eine Zeile zurück.

Rückgabewert(e)​

Gibt eine Ganzzahl zurück, die die Summe der columnExpression darstellt, wenn alle Nicht-NULL-Eingaben Ganzzahlen sind. Wenn Eingaben keine Ganzzahlen oder NULL sind, wird ein Gleitkommawert zurückgegeben, der eine Näherung der tatsächlichen Summe sein kann.


Beispiele​

Die Summe eines Spaltenausdrucks über eine gesamte Ressource zurückgeben​

SELECT sum(json_array_length(disks)) as sum_disks
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';

Die Summe eines Spaltenausdrucks gruppiert nach einem anderen Spaltenausdruck zurückgeben​

SELECT tags, sum(json_array_length(disks)) as sum_disks
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a'
GROUP BY json_extract(tags, '$.instanceType');

SUM als Fensterfunktion zur Berechnung laufender Summen verwenden​

-- Calculate running total and percentage of contributions
SELECT
login,
contributions,
SUM(contributions) OVER (ORDER BY contributions DESC) as running_total,
SUM(contributions) OVER () as total_contributions,
ROUND(100.0 * contributions / SUM(contributions) OVER (), 2) as pct_of_total
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql';

Weitere Informationen finden Sie unter https://www.sqlite.org/lang_aggfunc.html#sumunc.