MySQL считает группу по - PullRequest
0 голосов
/ 04 июля 2011

У меня есть 3 таблицы, заказы (orders_id, date, ...), products (product_id, product_name, product_price) и order_products (product_id, orders_id, product_id, products_quantity), и мне нужно сгруппировать продукты так, чтобы они отображалисьпо продукту и общему количеству для каждого продукта, чтобы менеджеру интернет-магазина было проще узнать, сколько товаров было заказано для каждого продукта.

У меня немного проблем с правильным синтаксисом sql, я продолжаюнатыкаясь на группы по проблемам, и мне нужна помощь.

Это то, что я сделал до сих пор

select *, op.products_quantity as pquant, count(*) as `count`
from orders o
left join orders_products op on o.orders_id = op.orders_id
left join products p on op.products_id = p.products_id 
group by op.orders_products_id
order by op.products_id desc;

Ответы [ 3 ]

0 голосов
/ 04 июля 2011
Select p.Product_name,sum(prodcuts_quantity) as OrderedQuantity from 
Order_products op join
Products p on p.Product_id = op.product_id
group by p.Product_name
0 голосов
/ 04 июля 2011

Если вам нужно общее количество и общее количество заказов на один продукт, вы можете сделать это следующим образомtotal_order, SUM (количество) AS total_quantity FROM orders_products GROUP BY product_id) AS op ON p.id = op.product_id

0 голосов
/ 04 июля 2011

Глядя на то, что у вас есть, вы подсчитываете заказы, а не суммируете количество заказов ..

То есть

, если у вас было

заказов

monday 5 potatoes
tuesday 2 carrots
wednesday 3 potatoes

Вы хотели

potatoes 8
carrots 2

, и в этом случае вы захотите сделать

select sum(quantity),item from orders group by item

Я не совсем понял, в чем разница между orders_products и orders.

Может быть, немного примеров данных поможет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...