In SQLite die Sum()
Die Funktion akzeptiert einen optionalen DISTINCT
Schlüsselwort, mit dem Sie nur die unterschiedlichen Werte in der Gruppe hinzufügen können. Das heißt, es entfernt alle Duplikate aus seiner Berechnung.
Wenn also beispielsweise drei Zeilen 10 enthalten, wird nur eine dieser Zeilen in die Ergebnisse aufgenommen.
Syntax
Die Syntax bei Verwendung von DISTINCT
Schlüsselwort geht so:
Sum(DISTINCT X)
Wobei X
ist der Name der Spalte, für die Sie Werte hinzufügen.
Beispiel
Betrachten Sie die folgende Tabelle namens Products
:
ProductId ProductName Price ---------- ------------- ---------- 1 Widget Holder 139.5 2 Blue Widget 10.0 3 Red Widget 10.0 4 Green Widget 10.0 5 Widget Stick 89.75 6 Foo Cap 11.99
Unten sehen Sie ein Beispiel, wie Sie die eindeutige Summe aller Preise erhalten.
SELECT Sum(DISTINCT Price)
FROM Products;
Ergebnis:
251.24
Hier ist es wieder, aber dieses Mal füge ich auch ein „nicht eindeutiges“ sum()
hinzu zum Vergleich.
SELECT
Sum(Price),
Sum(DISTINCT Price)
FROM Products;
Ergebnis:
Sum(Price) Sum(DISTINCT Price) ---------- ------------------- 271.24 251.24
Also die nicht eindeutige sum(Price)
alle Werte unabhängig von Duplikaten hinzugefügt. Aber sum(DISTINCT Price)
nur die eindeutigen Werte hinzugefügt.