2016-03-31 58 views
2

不同的产品的数量假设有一个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结果。我不能想到如何计算不同产品的解决方案。

回答

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

这应该可以做到。添加DISTINCT需要每个唯一值一次: http://www.w3schools.com/sql/sql_distinct.asp

+1

是的该链接的语法部分显示了一个很好的例子。我打算链接相同的页面哈哈。 – Dresden

+0

@MikeS伟大的思想认为我猜想一样; p网站也有一个很好的可执行示例。 – Jester

+0

@Jester我很欣赏它,伟大的思想。 – user3785612