SQLite
 sql >> Base de données >  >> RDS >> SQLite

Comment ajouter uniquement les valeurs distinctes avec SQLite Sum ()

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)

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.