Dans le langage SQL, la fonction d’agrégation MAX() permet de retourner la valeur maximale d’une colonne dans un set d’enregistrement. La fonction peut s’appliquée à des données numériques ou alphanumériques. Il est par exemple possible de rechercher le produit le plus cher dans une table d’une boutique en ligne.
Syntaxe
La syntaxe de la requête SQL pour retourner la valeur maximum de la colonne “nom_colonne” est la suivante:
SELECT MAX(nom_colonne) FROM table
Lorsque cette fonctionnalité est utilisée en association avec la commande GROUP BY, la requête peut ressembler à l’exemple ci-dessous:
SELECT colonne1, MAX(colonne2) FROM table GROUP BY colonne1
Exemple
Imaginons un site d’e-commerce qui possède une table “produit” sur lequel on peut retrouver des produits informatiques.
id | nom | prix |
---|---|---|
1 | clavier | 50 |
2 | souris | 21 |
3 | écran | 120 |
4 | disque dur | 150 |
Connaître la valeur la plus élevée
Pour extraire uniquement le tarif le plus élevé dans la table, il est possible d’utiliser la requête suivante:
SELECT MAX(prix) FROM produit
Le résultat sera le suivant :
max(prix) |
---|
150 |
Connaître l’enregistrement ayant la valeur maximale
Il est aussi possible d’afficher le nom du produit le plus cher en même temps que d’afficher son prix. Pour cela, il suffit simplement d’utiliser la fonction d’agrégation MAX() tout en sélectionnant les autres enregistrements. La requête SQL est alors la suivante :
SELECT id, nom, MAX(prix) FROM produit
Le résultat de cette requête sera le suivant :
id | nom | max(prix) |
---|---|---|
4 | disque dur | 150 |