2011-01-12 3 views
0

Я использую MySQL, у меня есть таблица базы данных с элементами и 5 категориями (также одно поле ID, autoincr, PK). Я должен выбрать последние 5 элементов каждого категория, когда я использую группу, она возвращает последний элемент каждой категории, как я могу получить 5 лучших элементов каждой категории в одном запросе?нужна помощь в sql-запросе, выберите последние 5 списков каждой категории

Спасибо

ответ

0

Вы правильно будете ненавидеть это ...

(select * from items where category_id=1 order by add_date desc limit 5) 
union 
(select * from items where category_id=2 order by add_date desc limit 5) 
union 
(select * from items where category_id=3 order by add_date desc limit 5) 
union 
(select * from items where category_id=4 order by add_date desc limit 5) 
union 
(select * from items where category_id=5 order by add_date desc limit 5); 
+0

Я знаю это, но любая вещь лучше, чем это ?? –

+0

Я думаю, сломать в 5 меньших запросов? (не уверен, что вы предпочитаете это) ИЛИ завернуть как хранимую процедуру? – ajreal

Смежные вопросы