Реализовать одним SQL запросом, без использования вложенных SELECT-ов (Без JOIN)

Статус
В этой теме нельзя размещать новые ответы.

Tycoon

Постоялец
Регистрация
20 Апр 2006
Сообщения
77
Реакции
36
дана таблица:
id - ID товара
category_id - ID категории/группы товара
name - наименование
price - цена

Общая задача:
Из каждой категории товаров выбрать заданное кол-во {N} товаров с максимальной (или минимальной ценой).

Конкретно:
Выбрать по 3 товара с максимальной ценой из каждой категории.
Реализовать одним SQL запросом, без использования вложенных SELECT-ов (Без JOIN)
 
PHP:
mysql_query("SELECT MAX(price) FROM `table_name` WHERE category_id = 'cat_id' LIMIT 0,3") or mysql_error();
table_name и cat_id заменить на название таблицы и номер категории соответственно. Чтобы сделать выборку из каждой категории, заведи цикл и в него засунь этот запрос.
 
Если сделать цикл прохода категорий, то внутри можно и так спросить:
Код:
SELECT *  , MAX( `price` ) AS `maxPrice`
FROM `Название_таблицы`
WHERE `category_id` = 'ID_категории'
GROUP BY `id`
ORDER BY `maxPrice` DESC
LIMIT 0 , 3
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху