查询以计算销售给特定客户的不同产品的数量

时间:2016-03-31 18:18:13

标签: mysql sql

假设有一个SQL表

SHIPMENTS(ProductNumber, ClientNumber, Quantity)
(1,1,4)
(2,5,2)
(1,1,2)
(4,1,5)
(2,5,3)

在上面的示例中,我们注意到客户#1已经进行了三次购买(两次相同的产品)。因此,答案应为2,因为我们正在寻找该客户购买的不同产品的数量。

应用此查询

SELECT count(*)
FROM SHIPMENTS
WHERE ClientNumber = 1;

结果可以理解为3。而且我无法想出如何仅计算不同产品的解决方案。

1 个答案:

答案 0 :(得分:3)

SELECT count(DISTINCT ProductNumber)
FROM SHIPMENTS
WHERE ClientNumber = 1;

这应该可以解决问题。添加DISTINCT会获取每个唯一值一次: http://www.w3schools.com/sql/sql_distinct.asp