У меня есть схема, которая выглядит следующим образом:
Tables
table_id
seat_count
Orders
order_id
table_id
meal_id
Meals
meal_id
price
Я пытаюсь получить таблицы, которые имеют самый большой доход на seat_count, то есть
|idTable| |income| |seat_count|
2 50$ 5
3 60$ 4
4 40$ 3
10 80$ 2
Ближайшее, что я получил, былос этим запросом:
SELECT tables.table_id,
SUM(income),
tables.seat_count
FROM (SELECT tables.table_id,
tables.seat_count,
COUNT(orders.meal_id) * meals.price AS income
FROM meals
INNER JOIN (tables
INNER JOIN orders
ON tables.table_id = orders.table_id)
ON meals.meal_id = orders.meal_id
GROUP BY tables.table_id,
tables.seat_count,
meals.price
ORDER BY COUNT(orders.meal_id) * meals.price DESC)
GROUP BY tables.table_id,
tables.seat_count
ORDER BY SUM(income) DESC
Но я застрял, он возвращает записи, такие как:
table_id, income, seat_count
1 40$ 5
2 30$ 5
4 20$ 4
(т.е. с дубликатом seat_counts), и я понятия не имею, как избавиться от него.