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.