MySQL查询“国家和州/省的销售报告”

时间:2010-06-23 21:24:03

标签: mysql

客户需要按州/省的销售报告。有一个订单表存储客户的国家和州/省,并且有一个orders_products表存储产品关联的订单和产品的价格。

客户希望每个国家/地区都有以下统计信息。州/省:总销售额,销售额百分比,平均订单价值。

我希望我提供了足够的信息。如果您还有其他需要,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

==假设表==

订单(id,country_id,state_id)

orders_products(id,order_id,product_id,price)

==查询==

总销售额:

SELECT country_id, state_id, SUM(price)
FROM orders_products op, orders o 
WHERE op.order_id = o.id 
GROUP BY country_id, state_id

平均销售金额:

SELECT country_id, state_id, AVG(price) * COUNT(order_id) 
FROM orders_products op, orders o 
WHERE op.order_id = o.id 
GROUP BY country_id, state_id, order_id

每个州/国家/地区的总销售额百分比:

SELECT country_id, state_id, SUM(price) * 100 /
    (SELECT SUM(price) FROM orders_products op2) 
FROM orders_products op, orders o 
WHERE op.order_id = o.id 
GROUP BY country_id, state_id