поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    3.5.2. Строка, содержащая максимальное значение некоторого столбца

    "Как определить номер, дилера и цену самого дорогого изделия?"

    В ANSI SQL (и MySQL 4.1) это легко делается при помощи вложенного запроса:

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

    В версиях MySQL до 4.1 такая задача выполняется в два этапа:

    1. Следует получить максимальное значение цены из таблицы при помощи оператора SELECT.

    2. Используя это значение, необходимо составить следующий запрос:

      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, возвращает лишь одно из них!

     
    © 1997-2005 PHP Club Team
    Rambler's Top100