Académique Documents
Professionnel Documents
Culture Documents
Module 1
Regroupement
Overview et synthèse
of HTML and CSS des
données
Dans cette partie vous allez apprendre
• Introduction
• Les fonctions d'agrégation sont des fonctions qu'on applique
sur un ensemble d'enregistrements pour effectuer un calcul
et elles renvoient une seule valeur comme résultat.
• Généralement les fonctions d'agrégation sont utilisées pour
faire des synthèses de données.
• Il existe plusieurs fonctions d'agrégation à savoir :
• MIN()
• MAX()
• COUNT()
• SUM()
• AVG()
Les fonctions d'agrégation
• La syntaxe de MAX() :
SELECT MAX(column_name)
FROM table_name
WHERE condition;
Les fonctions d'agrégation
SELECT MAX(Price)
FROM Products WHERE CategoryID = 2;
• L'instruction GROUP BY
• L'instruction GROUP BY permet de regrouper les lignes d'une
table par rapport à une ou plusieurs colonnes.
• L'instruction GROUP BY est souvent utilisée avec des
fonctions d'agrégation (COUNT, MAX, MIN, SUM, AVG) pour
regrouper l'ensemble de résultats en une ou plusieurs
colonnes.
• La syntaxe de GROUP BY :
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);
Le regroupement des données
• L'instruction GROUP BY
• Exemple 1 : nombre de client groupé par pays.
SELECT CustomerID, CustomerName, Country FROM Customers;
SELECT Country, COUNT(CustomerID)
FROM Customers
GROUP BY Country;
Le regroupement des données
• L'instruction GROUP BY
• Exemple 2 : nombre de client groupé par pays et trier par
ordre décroissant par rapport au nombre de client
SELECT Country, COUNT(CustomerID)
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
Le regroupement des données
• L'instruction GROUP BY
• Exemple 3 : effectue plusieurs regroupements
SELECT Country, City, COUNT(CustomerID)
FROM Customers
GROUP BY Country, City
ORDER BY 1 ASC;
Le regroupement des données
• La clause HAVING
• La clause HAVING a été ajoutée à SQL car la clause WHERE
n'est pas utilisée avec des fonctions d'agrégation.
• Il ne faut jamais utiliser WHERE après le regroupement GROUP
BY ou avec une fonction d'agrégation (COUNT(), MIN()
,MAX(), SUM(), AVG(),…).
• La syntaxe de HAVING :
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);
Le regroupement des données
• La clause HAVING
• Il existe deux manière pour afficher le total des prix dans la
table Products pour la CategoryID = 2 :
•Utiliser la clause WHERE pour filtrer les lignes avant l'agrégation :
SELECT CategoryID, SUM(Price)
FROM Products
WHERE CategoryID = 2
GROUP BY CategoryID;
•Utiliser la clause HAVING pour filtrer les lignes après l'agrégation :
SELECT CategoryID, SUM(Price)
FROM Products
GROUP BY CategoryID
HAVING CategoryID = 2;
Le regroupement des données
• La clause HAVING
• L'exemple suivant regroupe le nombre de clients par pays et
on affiche seulement les pays qui ont au moins 5 clients :
SELECT Country, COUNT(CustomerID)
FROM Customers
GROUP BY Country;