Problème :
Vous souhaitez connaître la valeur maximale d'une colonne numérique.
Exemple :
Notre base de données a une table nommée product
avec des données dans les colonnes suivantes :id
, name
, year
, et items
.
identifiant | nom | année | articles |
---|---|---|---|
1 | petit pain | 2018 | 345 |
2 | chocolat | 2017 | 123 |
3 | beurre | 2019 | 34 |
4 | petit pain | 2019 | 456 |
5 | beurre | 2018 | 56 |
6 | beurre | 2017 | 78 |
7 | chocolat | 2019 | 87 |
8 | chocolat | 2018 | 76 |
Trouvons le nombre maximum d'articles vendus sur toutes les années.
Solution :
SELECT MAX(items) as max_items FROM product;
Voici le résultat :
max_items |
---|
456 |
Discussion :
Pour trouver la valeur maximale d'une colonne, utilisez le MAX()
fonction d'agrégation ; il prend comme argument le nom de la colonne dont on veut trouver la valeur maximale. Si vous n'avez spécifié aucune autre colonne dans le SELECT
clause, le maximum sera calculé pour tous les enregistrements de la table. Dans notre exemple, la requête renvoie le nombre maximum parmi tous les éléments.
Bien sûr, puisqu'il s'agit d'une fonction d'agrégation, MAX()
peut également être utilisé avec des groupes. Par exemple, si nous souhaitons voir le nombre maximum d'articles vendus chaque année, nous pouvons écrire cette requête :
SELECT year, MAX(items) AS max_items FROM product GROUP BY year;
Le maximum est calculé pour chaque groupe :
année | max_items |
---|---|
2018 | 345 |
2017 | 123 |
2019 | 456 |