3.5. Примеры стандартных запросов
3.5.2. Строка, содержащая максимальное значение некоторого столбца
"Как определить номер, дилера и цену самого дорогого изделия?"
В 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, возвращает лишь одно из них!
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|