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

Fonction SUM() dans MariaDB

Dans MariaDB, le SUM() la fonction d'agrégation renvoie la somme d'une expression donnée.

Il peut également être utilisé pour renvoyer la somme de toutes les valeurs distinctes (uniques) dans une expression.

Syntaxe

La syntaxe ressemble à ceci :

SUM([DISTINCT] expr)

Exemple de données

Supposons que nous ayons une table appelée Products avec les données suivantes :

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Résultat :

+----------+---------------------------------+--------------+
| VendorId | ProductName                     | ProductPrice |
+----------+---------------------------------+--------------+
|     1001 | Left handed screwdriver         |        25.99 |
|     1001 | Right handed screwdriver        |        25.99 |
|     1001 | Long Weight (blue)              |        14.75 |
|     1001 | Long Weight (green)             |        11.99 |
|     1002 | Sledge Hammer                   |        33.49 |
|     1003 | Chainsaw                        |       245.00 |
|     1003 | Straw Dog Box                   |        55.99 |
|     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
+----------+---------------------------------+--------------+

Exemple

Nous pouvons utiliser la requête suivante pour obtenir la somme de tous les prix.

SELECT SUM(ProductPrice)
FROM Products;

Résultat :

423.19

Ici, les informations de prix sont stockées dans le ProductPrice colonne, et nous la passons donc comme argument à la SUM() fonction, qui calcule ensuite la somme et renvoie le résultat.

Résultats filtrés

La SUM() La fonction opère sur les lignes renvoyées par la requête. Donc si vous filtrez les résultats, le résultat de SUM() reflétera cela.

SELECT SUM(ProductPrice)
FROM Products
WHERE VendorId = 1001;

Résultat :

78.72

Dans ce cas, 78,72 est la somme de tous les produits proposés par le fournisseur spécifié.

Le DISTINCT Mot clé

Vous pouvez utiliser le DISTINCT mot clé avec SUM() pour ne calculer que des valeurs distinctes. Autrement dit, s'il existe des valeurs en double, elles sont traitées comme une seule valeur.

Exemple :

SELECT SUM(DISTINCT ProductPrice)
FROM Products;

Résultat :

397.20

Notre tableau contient deux articles avec le même prix (le tournevis pour gaucher et le tournevis pour droitier sont tous deux au prix de 25,99). Le DISTINCT mot-clé fait que ces deux valeurs sont traitées comme une seule.

Fonctions de la fenêtre

Nous pouvons utiliser un OVER clause avec la SUM() fonction pour créer une fonction de fenêtre. Voir SQL SUM() pour les débutants pour un exemple.