8.3.2 La ligne qui contient le maximum d'une colonne

"Retrouver le prix, le vendeur et le numéro de l'objet le plus cher du magasin"

En ANSI-SQL cela est très facilement fait avec un sous selection :

SELECT article, dealer, price
FROM   shop
WHERE  price=(SELECT MAX(price) FROM shop)

Avec MySQL (et donc, sans les sous selections), il faut le faire en deux étapes :

  1. Retrouver la valeur maximale de la table, avec la commande SELECT.
  2. Avec la valeur lue, créer la requêt suivante :
    SELECT article, dealer, price
    FROM   shop
    WHERE  price=19.95
    

Une autre solution est de trier les objets par prix, et de lire la première ligne, avec la clause MySQL LIMIT:

SELECT article, dealer, price
FROM   shop
ORDER BY price DESC
LIMIT 1

Note: Avec cette méthode, on ne verra qu'ne seul objet, même si il y a plusieurs objets de meme prix.