MySQL, выбор по 4 записи из каждой категории

cat_crash

Новичок
MySQL, выбор по 4 записи из каждой категории

Добрый день, алл.

Опять и снова я к всеобщему разуму обращаюсь за помощью. На этот раз задача предельна знакома но вызвала у меня проблему:

Есть Таблица категории, например CATEGORY:
ID, NAME
1|Категория 1
2|Категория 2
3|Категория 3

И есть товары:
ID|CATEGORY_ID|NAME
1|1|Товар 1
2|1|Товар 2
3|1|Товар 3
4|1|Товар 4
5|1|Товар 5
6|2|Товар 6

Задача такая, одним селектом выбрать ПО 4 записи из каждой категории.
:confused:
 

cat_crash

Новичок
Сортировку уже дописать не проблема. Я превратил в более простую понятную структуру данные. А вообще у меня еще поля DATE есть. Я буду сортировать по дате.
 

Gas

может по одной?
делай или в цикле или через UNION ALL.
можно и одним запросом, например, через mysql переменные, но это не лучшим образом скажется на производительности и лучше так не делать для этой задачи.
 

cat_crash

Новичок
Gas, не подскажешь хотя бы направление, чтоб посмотреть как делать в цикле ?! LOOP ?
 

Gas

может по одной?
Вот пример.
Но, я так делать не рекомендую, потому что в цикле или через union (при нужных индексах) будет перебрано базой только по 4 записи для категории, а в моём - все записи категории, что не есть хорошо.
 

cat_crash

Новичок
Gas, Благодарю!

C Наступающими праздниками!

2Moder: Тему можно закрывать!
 
Сверху