Ресторан (restaurant)
Блюдо (dish)
Заказ (purchase)
Нужно вывести все рестораны и 2 самых популярных блюда к каждому ресторану. По идее этот запрос должен вывести всё так как положено:
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT
- restaurant.id,
- restaurant.`name`,
- dish.`name`
- FROM
- restaurant
- INNER JOIN dish ON dish.restaurant_id = restaurant.id
- WHERE dish.id IN (
- SELECT t.id
- FROM (
- SELECT dish.id, dish.restaurant_id, COUNT(*) AS count
- FROM dish
- INNER JOIN purchase ON purchase.dish_id = dish.id
- GROUP BY dish.id
- ) AS t
- WHERE t.restaurant_id = restaurant.id
- LIMIT 2
- )
- GROUP BY dish.id