Cours
La fonction SQL SUM() est une fonction d’agrégation utile pour calculer les totaux de colonnes numériques. La fonction SUM() est essentielle en analyse de données car elle synthétise des indicateurs clés de colonnes numériques spécifiques. Grâce à ses usages directs, la fonction SUM() aide les analystes à tirer des insights pertinents de grands jeux de données. De plus, cette fonction polyvalente est prise en charge par différentes bases de données, notamment SQL Server, PostgreSQL, MySQL et Oracle.
Si vous débutez ou souhaitez perfectionner vos compétences en analyse, nous vous recommandons vivement les cours Introduction to SQL et Intermediate SQL de DataCamp pour renforcer vos compétences en analyse. La fiche mémo SQL Basics sera également une excellente ressource tout au long de votre parcours.
Comment utiliser la fonction SUM() en SQL
La fonction SQL SUM() est utilisée pour agréger les totaux d’une colonne donnée dans un jeu de données. Prenons la table orders avec la structure suivante.

Table d’exemple pour agréger les totaux de colonne avec la fonction SUM(). Image de l’auteur.
La requête ci-dessous renvoie le total des quantités de la colonne quantity, avec l’alias total_quantity, et le chiffre d’affaires calculé comme la somme du produit quantity × price, avec l’alias total_revenue.
Remarquez que, pour total_revenue, la fonction SUM() est utilisée avec une expression afin d’effectuer un calcul supplémentaire sur la colonne avant d’obtenir le total. Notez également que la fonction SUM() ignore les valeurs NULL lors du calcul des totaux.
-- Select the total quantity and the total revenue-- Calculate the total quantity of all orders and alias 'total_quantity'.-- Calculate the total revenue and assigns it an alias 'total_revenue'.SELECT SUM(quantity) AS total_quantity, SUM(quantity * price) AS total_revenueFROM orders;
Table de sortie d’exemple de la fonction SUM() avec alias et expression. Image de l’auteur.
Cas d’usage de la fonction SUM() en SQL
La fonction SUM() en SQL peut également servir à des calculs avancés. Voyons quelques exemples.
Calculer une somme cumulative en SQL
Une somme cumulative correspond au total cumulé d’une colonne numérique. Calculer des cumuls est important pour suivre l’évolution d’indicateurs clés comme le chiffre d’affaires ou les ventes sur différentes périodes. La requête ci-dessous montre comment utiliser la fonction SUM() pour calculer les totaux cumulés de la colonne quantity.
-- Calculate cumulative sums of the 'quantity' column for each order_dateSELECT order_date, quantity, -- Calculate the cumulative sum of 'quantity' ordered by 'order_date' SUM(quantity) OVER (ORDER BY order_date) AS cumulative_quantityFROM orders;
Exemple de table de sortie utilisant la fonction SQL SUM() pour calculer des cumuls. Image de l’auteur.
Nous vous conseillons le cours Data Manipulation in SQL de DataCamp, qui détaille l’utilisation des fonctions de fenêtre pour des techniques telles que le calcul de totaux cumulés. La fiche mémo SQL Window Functions est également un guide pratique pour référencer rapidement les différentes fonctions de fenêtre et leurs usages.
Additionner plusieurs colonnes en SQL
La fonction SUM() peut aussi servir à calculer les totaux de plusieurs colonnes. Cette approche agrège des données de colonnes multiples en un seul résultat. Considérez la nouvelle table orders ci-dessous, avec les colonnes opening_quantity et received_quantity.

Table d’exemple pour additionner plusieurs colonnes avec la fonction SQL SUM(). Image de l’auteur.
L’exemple ci-dessous montre comment utiliser SUM() pour calculer le total combiné des colonnes opening_quantity et received_quantity. Ici, l’opérateur + sert à effectuer l’addition arithmétique entre deux valeurs numériques.
-- Calculate the total quantity of opening_quantity and received_quantity columns-- Sum the total values in one columnSELECT SUM(opening_quantity + received_quantity) AS total_quantityFROM orders;
Exemple de table de sortie utilisant la fonction SQL SUM() pour additionner plusieurs colonnes. Image de l’auteur.
Calculer une somme glissante en SQL
La somme glissante permet de calculer les totaux sur un nombre spécifié de lignes précédentes. En SQL, la fonction SUM() calcule des sommes glissantes pour des indicateurs clés, par exemple le total des ventes sur 7 jours. La requête ci-dessous illustre l’utilisation de SUM() pour calculer la somme glissante de quantity sur les 3 dernières lignes, ordonnées par order_date.
-- Calculate rolling sums of the 'quantity' column for the past 3 orders for each order_dateSELECT order_date, quantity, -- Calculate the rolling sum of 'quantity' over the last 3 rows ordered by 'order_date' SUM(quantity) OVER ( ORDER BY order_date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW ) AS rolling_quantityFROM orders;
Exemple de table de sortie du calcul d’une somme glissante en SQL avec la fonction SUM(). Image de l’auteur.
Additionner des valeurs DISTINCT en SQL
Vous pouvez additionner les valeurs d’une colonne en utilisant le mot-clé DISTINCT pour ne totaliser que les valeurs uniques. L’exemple ci-dessous montre l’utilisation de DISTINCT pour sommer les valeurs uniques des colonnes quantity et price.
-- Sum the distinct values of the quantity and price columnsSELECT SUM(DISTINCT quantity) AS total_distinct_quantity, SUM(DISTINCT price) AS total_distinct_priceFROM orders;SUM et autres fonctions d’agrégation SQL
Comme nous l’avons vu, la fonction SQL SUM() est à la fois puissante et plus polyvalente qu’il n’y paraît. Elle n’est toutefois qu’une des nombreuses fonctions d’agrégation en SQL. Voici un tableau qui récapitule les fonctions d’agrégation SQL les plus courantes, leurs descriptions et des exemples :
| Fonction | Description | Exemple |
|---|---|---|
| SUM() | Calcule la somme totale d’une colonne numérique. | Quantité totale et chiffre d’affaires. |
| AVG() | Calcule la valeur moyenne d’une colonne numérique. | Prix moyen des produits. |
| MIN() | Retourne la plus petite valeur d’une colonne. | Quantité minimale des commandes. |
| MAX() | Retourne la plus grande valeur d’une colonne. | Prix maximal des produits. |
| COUNT() | Retourne le nombre de lignes correspondant à une condition donnée. | Nombre total de commandes. |
Conclusion
Maîtriser la fonction SUM() en SQL est important pour comprendre ses différents usages en analyse de données. Elle est prise en charge par les principales bases de données et s’implémente de manière similaire, avec des clauses et fonctions de fenêtre adaptées. Nous vous encourageons à pratiquer les différentes applications de SUM() sur divers jeux de données pour affûter vos compétences SQL.
Pour aller plus loin en SQL appliqué à l’analyse métier, découvrez le parcours de compétences SQL Fundamentals de DataCamp afin d’acquérir les compétences à la demande. De même, consultez notre parcours carrière Associate Data Analyst in SQL pour apprendre et maîtriser les compétences SQL nécessaires à l’évolution de votre carrière. Enfin, nous vous recommandons vivement d’obtenir la certification SQL Associate de DataCamp pour attester de votre maîtrise et vous démarquer parmi les autres analystes.
Questions fréquentes
Qu’est-ce que la fonction SQL SUM() ?
La fonction SUM() calcule le total des valeurs d’une colonne numérique sur une table ou un jeu de données.
Quelle est la différence entre les fonctions SUM() et COUNT() ?
La fonction SUM() calcule le total des valeurs d’une colonne. La fonction COUNT() renvoie le nombre total de lignes selon une condition.
Comment la fonction SUM() gère-t-elle les valeurs NULL ?
Lors du calcul des totaux, la fonction SUM() ignore les valeurs NULL d’une colonne.
Peut-on utiliser le mot-clé DISTINCT avec la fonction SUM() ?
Le mot-clé DISTINCT s’utilise avec SUM() pour calculer le total des valeurs uniques d’une colonne.
Comment utiliser la fonction SUM() avec des fonctions de fenêtre ?
La fonction SUM() peut être utilisée comme fonction de fenêtre avec la clause OVER pour calculer des cumuls et d’autres agrégations sur des partitions de données.
Quelles autres fonctions en SQL sont proches de SUM() ?
Parmi les autres fonctions d’agrégation similaires en SQL, on trouve AVG() pour les moyennes, COUNT() pour le comptage de lignes, MIN() pour la plus petite valeur, MAX() pour la plus grande, COUNT(DISTINCT) pour le décompte des valeurs uniques, GROUP_CONCAT() pour la concaténation de chaînes, ainsi que STDDEV() ou VARIANCE() pour les calculs statistiques. Ces fonctions permettent de résumer et d’analyser les données efficacement.
