| Цитата | 3.5.2 Строка, содержащая максимальное значение некоторого столбца "Как определить номер, дилера и цену самого дорогого изделия?"
В ANSI SQL это легко делается при помощи вложенного запроса:
| Код | SELECT article, dealer, price FROM shop WHERE price=(SELECT MAX(price) FROM shop)
|
В MySQL (в котором вложенные операторы SELECT еще не реализованы) такая задача выполняется в два этапа:
Следует получить максимальное значение цены из таблицы при помощи оператора 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, возвращает лишь одно из них!
| Добавлено @ 13:41 Или даже вот...
| Цитата | 3.5.2 Строка, содержащая максимальное значение некоторого столбца "Как определить номер, дилера и цену самого дорогого изделия?"
В ANSI SQL (и MySQL 4.1) это легко делается при помощи вложенного запроса:
| Код | SELECT article, dealer, price FROM shop WHERE price=(SELECT MAX(price) FROM shop)
|
В версиях MySQL до 4.1 такая задача выполняется в два этапа: ...
| Добавлено @ 13:45 Mal Hack Точно... с 4.1 а то я систему обновил, а в мануал как-то не глянул.. будем теперь пользоваться... +1 |