0Pricing
SQL Academy · Leçon

COUNT, SUM, AVG, MIN, MAX

Utilisez les cinq principales fonctions d’agrégation, comprenez la différence entre COUNT(*) et COUNT(column) et sachez comment chacune traite les NULL.

COUNT, SUM, AVG, MIN, MAX est une leçon SQL Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SQL Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SQL Academy comprend 4 leçons au total.

Rôle des agrégats

Une fonction d’agrégation regroupe plusieurs lignes en une seule valeur. Exemples : chiffre d’affaires total, note moyenne, date la plus récente.

COUNT

Compte les lignes. Deux variantes :

SELECT COUNT(*)         FROM users;          -- counts ALL rows
SELECT COUNT(email)     FROM users;          -- counts rows where email IS NOT NULL
SELECT COUNT(DISTINCT country) FROM users;   -- distinct non-NULL countries

SUM

Additionne les valeurs d’une colonne numérique. Les NULL sont ignorés :

SELECT SUM(total) FROM orders;
SELECT SUM(total) FROM orders WHERE user_id = 42;

AVG

Calcule la moyenne arithmétique. Les NULL sont ignorés — ainsi, AVG(x) est égal à SUM(x)/COUNT(x), et non à SUM(x)/COUNT(*) :

SELECT AVG(rating) FROM reviews;

MIN et MAX

Valeur non NULL la plus petite et la plus grande. Fonctionne avec les nombres, les dates, les chaînes — avec toute valeur comparable :

SELECT MIN(created_at), MAX(created_at) FROM orders;
SELECT MIN(name), MAX(name) FROM users;   -- alphabetic

Agrégats et NULL

Tous les agrégats, à l’exception de COUNT(*), ignorent les valeurs NULL en entrée. AVG, SUM, MIN et MAX renvoient NULL lorsqu’il n’existe aucune valeur d’entrée non NULL.

-- Suppose the table is empty or all rating is NULL:
SELECT AVG(rating) FROM reviews;   -- NULL

Combiner des agrégats

Plusieurs agrégats dans une même requête — tous portent sur le même groupe :

SELECT COUNT(*)      AS orders,
       SUM(total)    AS revenue,
       AVG(total)    AS avg_order,
       MIN(total)    AS smallest,
       MAX(total)    AS biggest
FROM orders
WHERE created_at >= NOW() - INTERVAL '30 days';

DISTINCT dans les agrégats

Appliquez DISTINCT avant l’agrégation :

SELECT COUNT(DISTINCT user_id) AS unique_buyers,
       SUM(DISTINCT total)     AS sum_of_distinct_totals
FROM orders;

Agrégats sans GROUP BY

Lorsque vous utilisez un agrégat sans GROUP BY, l’ensemble du résultat forme un seul grand groupe — vous obtenez une seule ligne.

Filtrer avant l’agrégation

WHERE réduit les lignes d’entrée avant leur agrégation :

-- Average of only large orders:
SELECT AVG(total) FROM orders WHERE total > 100;

Clause FILTER (PostgreSQL)

Ajoutez des filtres propres à chaque agrégat avec la clause FILTER :

SELECT
  COUNT(*)                                AS total_orders,
  COUNT(*) FILTER (WHERE status = 'paid')  AS paid_orders,
  SUM(total) FILTER (WHERE status = 'paid') AS paid_revenue
FROM orders;

Récapitulatif

Les cinq agrégats fondamentaux : COUNT, SUM, AVG, MIN, MAX.

  • COUNT(*) compte les lignes ; COUNT(col) ignore les NULL
  • Les autres agrégats ignorent les valeurs NULL en entrée
  • Combinez-les avec WHERE / FILTER pour effectuer des agrégations conditionnelles

Vérification rapide

Supposons que rating vaut NULL pour 100 lignes sur 500. Par quelle valeur AVG(rating) divise-t-il ?

Questions Fréquemment Posées

La leçon « COUNT, SUM, AVG, MIN, MAX » est-elle gratuite ?

Oui — le texte complet de « COUNT, SUM, AVG, MIN, MAX » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SQL Academy, passe à CoddyKit PRO. Le cours SQL Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « COUNT, SUM, AVG, MIN, MAX » ?

Utilisez les cinq principales fonctions d’agrégation, comprenez la différence entre COUNT(*) et COUNT(column) et sachez comment chacune traite les NULL. Tu pratiques SQL Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer SQL Academy ?

Aucune expérience préalable n'est requise. SQL Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « COUNT, SUM, AVG, MIN, MAX » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon SQL Academy ?

Oui. Chaque leçon SQL Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. COUNT, SUM, AVG, MIN, MAX
  2. GROUP BY sur une ou plusieurs colonnes
  3. HAVING contre WHERE
  4. Pièges courants : les NULL dans les agrégats
← Retour à SQL Academy