V SQLite, Sum() funkce přijímá volitelný DISTINCT klíčové slovo, které vám umožní přidat pouze odlišné hodnoty ve skupině. To znamená, že z výpočtu odstraní všechny duplikáty.
Pokud tedy existují řekněme tři řádky, které obsahují 10, do výsledků bude zahrnut pouze jeden z těchto řádků.
Syntaxe
Syntaxe při použití DISTINCT klíčové slovo vypadá takto:
Sum(DISTINCT X)
Kde X je název sloupce, pro který přidáváte hodnoty.
Příklad
Zvažte následující tabulku nazvanou 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
Níže je uveden příklad získání zřetelného součtu všech cen.
SELECT Sum(DISTINCT Price)
FROM Products; Výsledek:
251.24
Tady je to znovu, ale tentokrát přidávám i „nerozlišující“ sum() pro srovnání.
SELECT
Sum(Price),
Sum(DISTINCT Price)
FROM Products; Výsledek:
Sum(Price) Sum(DISTINCT Price) ---------- ------------------- 271.24 251.24
Tedy nerozlišující sum(Price) přidal všechny hodnoty bez ohledu na duplikáty. Ale sum(DISTINCT Price) pouze přidal odlišné hodnoty.