0

SQL クエリに関するヘルプを探しています。顧客が 2 つの異なる店舗で購入または販売するケースを特定する方法を見つけようとしていますが、ある店舗で購入して別の店舗で販売する場合、気にしないか、カウントしたくありません。

私はこれを試しました -

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

しかし、それはdistinctが好きではなく、エラーを引き起こします。明確に指定しないと、顧客が購入または販売した店舗の数だけでなく、その顧客のすべての観察の数が得られます。

以下のデータに基づくと、顧客 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

何か案は?

4

2 に答える 2

0

ただグループ化しませんか?

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

編集:ああ、私はあなたが欲しいものを見る-あなたは顧客よりも店の数を望んでいる、申し訳ありませんがそれを読み間違えました!

于 2012-08-07T19:55:38.960 に答える
0
select customer
from your_table
group by customer, type
having count(distinct store) > 1
于 2012-08-07T19:58:26.253 に答える