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.