W SQLite Sum() funkcja akceptuje opcjonalny DISTINCT słowo kluczowe, które umożliwia dodanie tylko odrębnych wartości w grupie. Oznacza to, że usuwa z obliczeń wszelkie duplikaty.
Jeśli więc istnieją, powiedzmy, trzy wiersze zawierające 10, tylko jeden z nich zostanie uwzględniony w wynikach.
Składnia
Składnia przy użyciu DISTINCT słowo kluczowe wygląda tak:
Sum(DISTINCT X)
Gdzie X to nazwa kolumny, dla której dodajesz wartości.
Przykład
Rozważ poniższą tabelę o nazwie 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
Poniżej znajduje się przykład uzyskania odrębnej sumy wszystkich cen.
SELECT Sum(DISTINCT Price)
FROM Products; Wynik:
251.24
Znowu, ale tym razem dołączam również „niewyraźną” sum() dla porównania.
SELECT
Sum(Price),
Sum(DISTINCT Price)
FROM Products; Wynik:
Sum(Price) Sum(DISTINCT Price) ---------- ------------------- 271.24 251.24
Tak więc niewyraźna sum(Price) dodano wszystkie wartości niezależnie od duplikatów. Ale sum(DISTINCT Price) dodał tylko różne wartości.