La valeur maximale d'une colonne
<<<
La ligne contenant le maximum d'une certaine colonne Maximum d'une colonne par groupe
>>>

3.6 Exemples de requêtes usuelles
3 Tutoriels d'introduction
 Manuel de Référence MySQL 4.1 : Version Française

La valeur maximale d'une colonne
->La ligne contenant le maximum d'une certaine colonne
Maximum d'une colonne par groupe
La ligne contenant la plus grande valeur d'un certain champ par rapport à un groupe
Utiliser les variables utilisateur
Utiliser les clefs étrangères
Recherche sur deux clefs
Calcul du nombre de visites par jour
Utiliser AUTO_INCREMENT

3.6.2 La ligne contenant le maximum d'une certaine colonne

``Trouvez le numéro, vendeur et prix de l'article le plus cher.''

En SQL-99 (et MySQL version 4.1), cela est facilement fait avec une sous-requête :


SELECT article, dealer, price
FROM   shop
WHERE  price=(SELECT MAX(price) FROM shop);
En MySQL 4.0 ou plus ancien, vous devez le faire en deux temps :
  • Obtenir le plus grand prix de la table avec une requête SELECT .
    
    mysql> SELECT MAX(price) FROM shop;
    +------------+
    | MAX(price) |
    +------------+
    |      19.95 |
    +------------+
  • Utiliser la valeur 19.95 avec la requête suivante :
    
    mysql> SELECT article, dealer, price
        -> FROM   shop
        -> WHERE  price=19.95;
    +---------+--------+-------+
    | article | dealer | price |
    +---------+--------+-------+
    |    0004 | D      | 19.95 |
    +---------+--------+-------+

Une autre solution est de trier toutes les lignes en ordre décroissant, et de ne lire que la première ligne avec la clause LIMIT :


SELECT article, dealer, price
FROM   shop
ORDER BY price DESC
LIMIT 1;
Note : s'il y a beaucoup d'articles chers (par exemple, chaque 19.95) la solution avec LIMIT n'en montre qu'un !.

<< La ligne contenant le maximum d'une certaine colonne >>
La valeur maximale d'une colonne Exemples de requêtes usuelles Maximum d'une colonne par groupe