"Как определить номер, дилера и цену самого дорогого изделия?"
В ANSI SQL (и MySQL 4.1) это легко делается при помощи вложенного запроса:
SELECT article, dealer, price FROM shop WHERE price=(SELECT MAX(price) FROM shop)
В версиях MySQL до 4.1 такая задача выполняется в два этапа:
Следует получить максимальное значение цены из таблицы при помощи оператора SELECT.
Используя это значение, необходимо составить следующий запрос:
SELECT article, dealer, price FROM shop WHERE price=19.95
Существует еще одно решение:
отсортировать все строки по
убыванию цен и после этого
получить первую строку, используя
специальный оператор
LIMIT:
SELECT article, dealer, price FROM shop ORDER BY price DESC LIMIT 1
Примечание: если
существует несколько самых
дорогих изделий (например, каждое
из них стоит 19,95), запрос,
использующий LIMIT,
возвращает лишь одно из них!
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.
© 1995-2005 MySQL AB. All rights reserved.
