У меня есть 3 таблицы:
product, category and product_category (какие товары в каждой категории).
Я бы хотел получить 3 самых дорогих продукта в каждой категории.
У меня есть это основное отношение:
select c.name
, p.id
, p.price
from category c
left
join product_category pc
on pc.category_id = category.id
left
join product p
on pc.product_id = p.id
Но теперь я хотел бы получить только 3 самых дорогих в каждой категории.
В этом случае мы можем использовать любое количество объединенных таблиц, и оно может быть преобразовано в любой более сложный запрос.
Возможно ли это без цикла?
Я использую 10.2.14-MariaDB-log с этой схемой http://sqlfiddle.com/#!9/43035a