Organisation et statistiques

15 minutes de SQL

Compter et calculer MIN/MAX/SUM/AVG

Thème : Organisation et statistiques

Niveau : ECG2

Année : Maths appliquées

Objectif : Savoir utiliser les fonctions d’agrégation COUNT, MIN, MAX, SUM, AVG pour résumer une table (ou un sous-ensemble via WHERE).

Fonctions d’agrégation

Les fonctions d’agrégation permettent de calculer une valeur globale à partir des données d’une table.

Contrairement à une requête classique qui renvoie plusieurs lignes, une requête contenant uniquement une fonction d’agrégation renvoie en général une seule ligne.

  • COUNT(*) : renvoie le nombre total de lignes de la table.
  • MIN(colonne) : renvoie la plus petite valeur de la colonne.
  • MAX(colonne) : renvoie la plus grande valeur de la colonne.
  • SUM(colonne) : renvoie la somme des valeurs de la colonne.
  • AVG(colonne) : renvoie la moyenne des valeurs de la colonne.

Si la requête ne contient que des fonctions d’agrégation, le résultat est une table comportant une seule ligne.

On peut les combiner avec WHERE pour ne travailler que sur certaines lignes.

Exemples commentés

Exemple 1

On dispose d'une base de données cafes et, dans cette base, de la table suivante :

  • cafes(nom, adresse, arrondissement, prix_cafe)

On veut calculer le prix moyen d’un café (colonne prix_cafe).

SELECT AVG(prix_cafe)
FROM cafes;
Exemple 2

On dispose d'une base de données films et, dans cette base, de la table suivante :

  • films(film_id, film_titre, annee_sortie, realisateur, budget, box_office, notes_imdb)

On veut calculer le budget moyen des films sortis à partir de 2015.

La clause WHERE permet de ne garder que les lignes correspondant à ces films.

SELECT AVG(budget)
FROM films
WHERE annee_sortie >= 2015;
Exemple 3

On dispose d'une base de données triangles et, dans cette base, de la table suivante :

  • triangles(idt, ab, ac, bc)

On veut compter le nombre de triangles équilatéraux, c’est-à-dire ceux pour lesquels ab = ac et ac = bc.

La requête renverra une seule valeur : le nombre de lignes qui vérifient cette condition.

SELECT COUNT(*)
FROM triangles
WHERE ab = ac AND ac = bc;
Exemple 4

On dispose d'une base de données stocks et, dans cette base, des tables suivantes :

  • articles(id_article, nom, categorie, prix)
  • mouvements(id_mvt, id_article, date_mvt, quantite, type)

On veut déterminer le prix minimal et le prix maximal parmi tous les articles, à partir de la colonne prix de la table articles.

SELECT MIN(prix), MAX(prix)
FROM articles;
Exemple 5

On dispose d'une base de données boutique et, dans cette base, des tables suivantes :

  • clients(id_client, nom, ville)
  • commandes(id_commande, id_client, date_commande)
  • produits(id_produit, nom, categorie, prix)
  • lignes_commande(id_commande, id_produit, quantite)

On veut compter le nombre total de lignes de commande. Attention : chaque ligne correspond à un produit présent dans une commande (avec une quantité), donc on compte les lignes de la table lignes_commande.

SELECT COUNT(*)
FROM lignes_commande;

Et pour quelques minutes de plus…

Prendre en main la programmation, pas à pas.

Ces exercices sont conçus pour t’aider à maîtriser progressivement les requêtes SQL, en partant de la lecture et de la compréhension du code, jusqu’à l’écriture autonome de requêtes complètes.

L’objectif n’est pas d’aller vite, mais de construire des automatismes solides, en comprenant ce que fait chaque commande, puis en apprenant à les utiliser par toi-même.

L’ordre des exercices est volontaire : on lit, on comprend, on complète, puis on écrit seul. Prends le temps de chaque étape : c’est la clé pour progresser durablement.

Niveau 1 Lire et interpréter

Comprendre avant d’écrire.
Dans cette première série, tu observes et analyses des requêtes SQL déjà écrites. L’objectif est de comprendre la logique et d’être capable d'expliquer ce que renvoie la requête.

Niveau 2 Compléter une requête

Écrire, mais avec un cadre.
Ici, tu passes à l’écriture sans partir de zéro. Le squelette de la requête est fourni : il te reste à compléter certaines parties pour que le code fonctionne correctement. Ce format permet de se concentrer sur l’essentiel, sans se perdre dans la structure générale.

Niveau 3 Écrire une requête

Passer à l’autonomie.
Dans cette dernière série, tu écris les requêtes complètes à partir d’une consigne. Tu dois organiser ton code, choisir les bonnes instructions et construire la logique globale. C’est ici que tu mets en pratique tout ce que tu as appris dans les niveaux précédents.

error: Ce contenu est protégé !