Spec-Zone .ru
спецификации, руководства, описания, API
|
Задача: Найдите число, дилера, и цену самой дорогой статьи.
Это легко делается с подзапросом:
SELECT article, dealer, priceFROM shopWHERE price=(SELECT MAX(price) FROM shop);+---------+--------+-------+| article | dealer | price |+---------+--------+-------+| 0004 | D | 19.95 |+---------+--------+-------+
Другие решения состоят в том, чтобы использовать a LEFT JOIN
или отсортировать все
убывание строк по цене и получить только первую строку, используя специфичное для MySQL LIMIT
пункт:
SELECT s1.article, s1.dealer, s1.priceFROM shop s1LEFT JOIN shop s2 ON s1.price < s2.priceWHERE s2.article IS NULL;SELECT article, dealer, priceFROM shopORDER BY price DESCLIMIT 1;
Если было несколько самых дорогих статей, каждый с ценой 19.95, LIMIT
решение показало бы только одному из них.