In SQLite, il Sum()
la funzione accetta un DISTINCT
opzionale parola chiave che consente di aggiungere solo i valori distinti nel gruppo. Cioè, rimuove tutti i duplicati dal suo calcolo.
Quindi, se ci sono, diciamo, tre righe che ne contengono 10, solo una di queste righe verrà inclusa nei risultati.
Sintassi
La sintassi quando si utilizza DISTINCT
la parola chiave va così:
Sum(DISTINCT X)
Dove X
è il nome della colonna per cui stai aggiungendo i valori.
Esempio
Considera la seguente tabella chiamata 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
Di seguito è riportato un esempio di come ottenere la somma distinta di tutti i prezzi.
SELECT Sum(DISTINCT Price)
FROM Products;
Risultato:
251.24
Eccolo di nuovo, ma questa volta includo anche un sum()
"non distinto". per amor di confronto.
SELECT
Sum(Price),
Sum(DISTINCT Price)
FROM Products;
Risultato:
Sum(Price) Sum(DISTINCT Price) ---------- ------------------- 271.24 251.24
Quindi il non distinto sum(Price)
aggiunto tutti i valori indipendentemente dai duplicati. Ma sum(DISTINCT Price)
aggiunto solo i valori distinti.