【问题标题】:Group by with SUM total quantity sold for each product for each CustomerGroup by 与 SUM 为每个客户的每个产品销售的总数量
【发布时间】:2013-05-30 20:20:23
【问题描述】:

我有一组客户在给定的一个月内多次从同一目录购买产品。

我现在正在尝试创建一个结果集,该结果集将显示代理名称,并为每个代理名称列出一个月内购买的产品,以及每个客户购买的每种产品的总数量。

例如,我可以在星期一购买 50 x '产品 a',然后在星期四购买 80 盒'产品 a' 和 90 x '产品 b'; 最后它会显示如下内容:

Pavan | Product a | 130
Pavan | product b | 90
Marianne | .. so on so forth

我已经做到了这一点,创建了一个查询,该查询将返回每个客户购买的每件产品。

我现在正在尝试组织产品名称,以便将整个月购买的重复产品汇总在一起/汇总。仅显示一个产品名称条目,并在其旁边显示购买数量的总和。

SELECT a.Agent_Name, b.Order_Id, 
    b.OrderLine_ProductName, b.OrderLine_QuantitySold 
FROM Agents a 
LEFT JOIN OrderLines b ON a.Agent_Id = b.Agent_Id

我曾尝试将 GROUP 与 SUM 一起使用,它产生了一些有趣的结果。

如果有人可以解释有关如何创建查询的逻辑,以实现我所解释的,那就太好了。谢谢

【问题讨论】:

    标签: mysql


    【解决方案1】:

    类似这样的:

    SELECT a.Agent_Name, b.Order_Id, 
        b.OrderLine_ProductName, SUM(b.OrderLine_QuantitySold)
    FROM Agents a 
    LEFT JOIN OrderLines b ON a.Agent_Id = b.Agent_Id
    GROUP BY a.Agent_name, b.OrderLine_ProductName, b.Order_Id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多