``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 !.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.