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 countriesSUM
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; -- alphabeticAgré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; -- NULLCombiner 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
- COUNT, SUM, AVG, MIN, MAX
- GROUP BY sur une ou plusieurs colonnes
- HAVING contre WHERE
- Pièges courants : les NULL dans les agrégats