假设有一个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。而且我无法想出如何仅计算不同产品的解决方案。
答案 0 :(得分:3)
SELECT count(DISTINCT ProductNumber)
FROM SHIPMENTS
WHERE ClientNumber = 1;
这应该可以解决问题。添加DISTINCT会获取每个唯一值一次: http://www.w3schools.com/sql/sql_distinct.asp