尝试根据不同字段的值计算字段的#个不同值

时间:2012-08-07 19:52:13

标签: sql tsql

寻找我的SQL查询的一些帮助。我试图找到一种方法来指定客户在两个不同的商店购买或销售的情况,但如果他们在一家商店购买并在另一家商店销售,我不在乎或者想要计算。

我试过这个 -

Select count(distinct store) OVER(Partition BY Customer)

但它不喜欢不同并导致错误。当我没有指明不同时,它会给我计算该客户的所有观察结果,而不仅仅是他们从中购买或出售的商店数量。

根据以下数据,客户D是我希望过滤的类型。

我的原始数据:

Customer    Type        Qty     Store
A           Purchase    1       2
A           Purchase    2       2
A           Sale        3       1
B           Sale        24      1
B           Sale        12      1
C           Purchase    4       2
D           Sale        12      2
D           Purchase    4       2
D           Purchase    2       1
D           Purchase    2       1

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你不想要GROUP?

Select Count(store) FROM Blah GROUP BY Customer, Store

编辑:啊我明白你想要什么 - 你想要一个超过顾客的商店数量,抱歉误读了!

答案 1 :(得分:0)

select customer
from your_table
group by customer, type
having count(distinct store) > 1