使用SQL查找在一个查询中购买产品的总次数

时间:2010-07-31 03:37:49

标签: mysql

我正在尝试找到最佳方式来返回包含客户已购买的所有产品列表的记录集,以及已售出的产品数量。

表ORDERS的布局如下:

CustomerID ProductID (etc)
1              10
1              10
1              11
2              10
4              9

这是多对多关系,因此同一客户可以拥有多条记录,并且可以多次购买同一产品。我需要使用我可以放入存储过程的查询来获取包含以下信息的记录集:

ProductID NumSales
1            3
2            1
4            1

任何帮助都会受到赞赏 - 我对高级SQL还不熟悉,如果你能给我一个关于查询如何工作的基本概述我会喜欢它,所以我可以学会在将来自己做 - 我感觉它很简单,但我还不知道语法!

1 个答案:

答案 0 :(得分:6)

select ProductID, count(*) as NumSales from Orders group by ProductID

如果那里也有数量字段,请尝试:

select ProductID, sum(Quantity) as TotalQty from Orders group by ProductID