Сортировка и ограничение таблицы через SQL запрос

MySQL. Есть две таблицы категорий и товаров(categories, products). Они связаны по внешнему ключу categories.id и products.category_id. В продуктах есть поле для обозначения хитов продаж - p_hit. Возможно ли сделать результирующую таблицу, в которой сначала бы присутствовали все хиты продаж, если такие есть, затем не хиты и это ограничивалось бы определенным количеством, скажем, не более 5 товаров, если набирается, из каждой категории? Т.е. хиты должны попадать в любом случае, если даже их больше 5, попадают первые 5, если меньше 5, то до 5 добавляются не хиты.

Что-то такое уже в представлении:

Категория_1 | Товар_1 Хит | Товар_2 Хит | Товар_3 Не хит | Товар_4 Не хит | Товар_5 Не хит

Категория_2 | Товар_1 Хит | Товар_2 Не хит | Товар_3 Не хит | Товар_4 Не хит | Товар_5 Не хит

и т.д.

Или проще получить все интересующие товары с категориями, отфетчить и форматиравать получившийся массив как нужно, например в PHP?

Заранее благодарен.


Ответы (0 шт):