0

私は次の出力を探しています

  • 2つの製品グループで購入した10個のアイテムを持つ10人の顧客
  • 1つの製品グループで10個のアイテムを購入した8人の顧客。

一般に、購入したアイテムと製品グループに対する顧客数のマトリックス。2つ以上の属性(アイテムと製品グループ)を数える

私は以下のコードを試しましたが、それは私にしか与えません

  • 10個のアイテムと2つの製品グループを持つ1人の顧客
  • 各ラインにさらに多くの顧客がいるにもかかわらず、10個のアイテムと1つの製品グループを持つ1人の顧客:

スニペット、

count (distinct customer_id) over (Partition by customer_id) as Customer_ID
,count (distinct customer_shipment_item_id) Over (Partition by customer_id) as customer_items
,count (distinct product_group) Over (Partition by customer_id) as customer_product_groups

これがどのように機能するか説明できますか?

4

2 に答える 2

0

私はこのような何かがあなたが探しているものをあなたに与えると思います:

SELECT    COUNT(customer_id) Customer_ID, customer_items, customer_product_groups

FROM 

(SELECT   customer_id, COUNT(DISTINCT customer_shipment_item_id) as customer_items,
          COUNT(DISTINCT product_group) as customer_product_groups
 FROM     TABLENAME
          JOIN <YOUR JOINS>
 WHERE    customer_id IN (SELECT customer_ID FROM <YOUR JOINS> WHERE customer_shipment_item_id = x)
 GROUP BY customer_id
) a

GROUP BY customer_items, customer_product_groups
于 2012-11-13T18:49:18.673 に答える
0

これを試して。あなたが探しているものを私が理解できない場合を除き、Partition By 句は必要ありません。

count (distinct customer_id) as Customer_ID
,count (distinct customer_shipment_item_id) as customer_items
,count (distinct product_group) as customer_product_groups
于 2012-11-13T13:45:55.420 に答える