Zurück zu: SQL Tutorial
Die SQL SUM() Funktion
Die Funktion SUM()
gibt die Gesamtsumme einer numerischen Spalte zurück.
Beispiel
Gibt die Summe aller Mengenfelder
in der Tabelle „OrderDetails
“ zurück:
SELECT SUM(Quantity)
FROM OrderDetails;
Syntax
SELECT SUM(column_name)
FROM table_name
WHERE condition;
Demo Datenbank
Nachfolgend sehen Sie eine Auswahl aus der in den Beispielen verwendeten Tabelle „OrderDetails“:
BestellDetailID | Bestell-Nr | Produkt-ID | Menge |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
Hinzufügen einer WHERE Klausel
Sie können eine WHERE
Klausel hinzufügen, um Bedingungen anzugeben:
Beispiel
Gibt die Summe des Felds „Menge
“ für das Produkt mit der Produkt-ID
11 zurück:
SELECT SUM(Quantity)
FROM OrderDetails
WHERE ProductId = 11;
Verwenden Sie einen Alias
Geben Sie der zusammengefassten Spalte mithilfe des Schlüsselworts AS
einen Namen.
Beispiel
Nennen Sie die Spalte „Gesamt“:
SELECT SUM(Quantity) AS total
FROM OrderDetails;
Verwenden von SUM() mit GROUP BY
Hier verwenden wir die Funktion SUM()
und die Klausel GROUP BY
, um die Menge
für jede OrderID
in der Tabelle OrderDetails zurückzugeben:
Beispiel
SELECT OrderID, SUM(Quantity) AS [Total Quantity]
FROM OrderDetails
GROUP BY OrderID;
Später in diesem Tutorial erfahren Sie mehr über die GROUP BY
Klausel.
SUM() mit einem Ausdruck
Der Parameter innerhalb der Funktion SUM()
kann auch ein Ausdruck sein.
Wenn wir davon ausgehen, dass jedes Produkt in der Spalte „OrderDetails
“ 10 Dollar kostet, können wir den Gesamterlös in Dollar ermitteln, indem wir jede Menge mit 10 multiplizieren:
Beispiel
Verwenden Sie einen Ausdruck innerhalb der Funktion SUM():
SELECT SUM(Quantity * 10)
FROM OrderDetails;
Wir können die Tabelle „OrderDetails
“ auch mit der Tabelle „Products
“ verknüpfen, um den tatsächlichen Betrag zu ermitteln, anstatt davon auszugehen, dass er 10 Dollar beträgt:
Beispiel
Verbinden Sie OrderDetails
mit Products
und verwenden Sie SUM()
, um den Gesamtbetrag zu ermitteln:
SELECT SUM(Quantity * 10)
FROM OrderDetails;
Später in diesem Tutorial erfahren Sie mehr über Joins.