Dans SQLite, le Sum()
la fonction accepte un DISTINCT
facultatif mot clé qui vous permet d'ajouter uniquement les valeurs distinctes dans le groupe. Autrement dit, il supprime tous les doublons de son calcul.
Donc, s'il y a, par exemple, trois lignes contenant 10, une seule de ces lignes sera incluse dans les résultats.
Syntaxe
La syntaxe lors de l'utilisation du DISTINCT
le mot-clé se présente comme suit :
Sum(DISTINCT X)
Où X
est le nom de la colonne pour laquelle vous ajoutez des valeurs.
Exemple
Considérez le tableau suivant appelé 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
Vous trouverez ci-dessous un exemple d'obtention de la somme distincte de tous les prix.
SELECT Sum(DISTINCT Price)
FROM Products;
Résultat :
251.24
Le voici à nouveau, mais cette fois j'inclus également un sum()
"non distinct" à titre de comparaison.
SELECT
Sum(Price),
Sum(DISTINCT Price)
FROM Products;
Résultat :
Sum(Price) Sum(DISTINCT Price) ---------- ------------------- 271.24 251.24
Donc la sum(Price)
non distincte ajouté toutes les valeurs indépendamment des doublons. Mais sum(DISTINCT Price)
n'a ajouté que les valeurs distinctes.