Это вопрос MySQL.У меня есть три таблицы со следующими столбцами:
transactions (table): transact_id, customer_id, transact_amt, product_id,
products (table): product_id, product_cost, product_name, product_category
customers (table): customer_id, joined_at, last_login_at, state, name, email
Я хотел бы запрос, который находит самый популярный элемент в каждом штате и штате.Одна из хитростей заключается в том, что у некоторых product_name есть несколько product_id.Поэтому я, хотя и объединяю три таблицы, которые генерируют вывод с двумя столбцами: state и product_name.До этого момента все работало нормально:
SELECT p.product_name, c.state
FROM products p
INNER JOIN transactions t
ON p.product_id = t.product_id
INNER JOIN customers c
ON c.customer_id = t.customer_id
Выбирает все продукты и штаты, в которых находится клиент.Проблема в том, что я не могу найти способ оценить самый популярный продукт в каждом штате.Я пробовал разные группы, упорядочить и использовать подзапросы без успеха.Я подозреваю, что мне нужно делать подзапросы, но я не могу найти способ их решить.Ожидаемый результат должен выглядеть следующим образом:
most_popular_product | state
Bamboo | WA
Walnut | MO
Любая помощь будет принята с благодарностью.
Спасибо!