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.
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
NULLsind, gibtSUMNULLzurück.
SUMlö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.