Problème :
Vous souhaitez trouver la plus petite valeur numérique dans une colonne.
Exemple :
Notre base de données a une table nommée employment
avec des données dans les colonnes suivantes :id
, first_name
, last_name
, department
, et salary
.
identifiant | prénom | nom_de_famille | département | salaire |
---|---|---|---|---|
1 | Élie | Martine | marketing | 1200 |
2 | Martin | Johnson | finances | 2 300 |
3 | Michel | Jacobs | production | 1100 |
4 | Stephen | Kowalski | marketing | 4300 |
5 | Stanley | Miller | marketing | 3 500 |
6 | Jenny | Marron | finances | 5000 |
7 | Marguerite | Vert | marketing | 1500 |
8 | Lisa | Thomas | production | 2800 |
Trouvons le salaire le plus bas parmi tous les employés.
Solution :
SELECT MIN(salary) as min_salary FROM employment;
Voici le résultat :
min_salary |
---|
1100 |
Discussion :
Pour trouver la valeur minimale d'une colonne, utilisez le MIN()
fonction d'agrégation ; il prend comme argument le nom de la colonne dont on veut trouver la valeur minimale. Si vous n'avez spécifié aucune autre colonne dans le SELECT
clause, le minimum sera calculé pour tous les enregistrements de la table. Dans notre exemple, la requête renvoie le salaire minimum parmi tous les employés.
Bien sûr, puisqu'il s'agit d'une fonction d'agrégation, MIN()
peut également être utilisé avec des groupes. Par exemple, si nous souhaitons trouver le salaire minimum pour chaque département, nous pouvons écrire cette requête :
SELECT department, MIN(salary) as min_salary FROM employment GROUP BY department;
Cette requête renvoie le salaire minimum pour chaque département :
département | min_salary |
---|---|
marketing | 1200 |
finances | 2 300 |
production | 1100 |