2012-03-22 5 views
-7

У меня есть таблица Product (ProductID, Name, Price). Я должен создать сценарий, который возвращает имя и цены, для 10 самых дорогих предметов с использованием инструкции MAX.Как использовать инструкцию max

+6

Я считаю, что вам не нужно MAX для такой задачи, просто 'ORDER BY Price DESC' и return' LIMIT 10' – sll

+1

Я бы изменил название вопроса на: _ «Когда использовать инструкцию max» _ ** ... ** – gdoron

+0

@gdoron: 'MAX()' является функцией. – onedaywhen

ответ

3

Вы хотите использовать только MAX(), если хотите самый дорогой товар. Так как вы хотите десять самых дорогих, order by price desc и выбрать лучшие 10 записей:

SELECT TOP 10 ProductId, Name, Price 
FROM Product 
ORDER BY Price Desc 
8

То, что вы хотите, вероятно, больше, как

SELECT TOP 10 ProductID, Name, Price 
FROM Product 
ORDER BY Price DESC 

Или, для MySQL,

SELECT ProductID, Name, Price 
FROM PRODUCT 
ORDER BY Price DESC 
LIMIT 10 

MAX не будет работать очень хорошо - это «совокупная функция», то есть она работает с группами. И вам нечего группировать; каждый элемент не зависит от других, если я правильно понимаю структуру вашей базы данных.