1

各サブチャネルの購入者数に基づいて各メインチャネルの購入者数を取得するために、mysqlクエリを作成するためのヘルプが必要です

基本的に、次の2つのテーブル、つまりtbl_channeltbl_buyerがあります。

ここに画像の説明を入力してください

条件:

  1. 各サブチャネルの購入者数に基づいて、マスターチャネル(parentid = 0)ごとの購入者数を表示するだけです。
  2. 同じbuyer_idを持つchannel_id(TBL_BUYER)のすべての購入者は、 1人の購入者としてカウントされます

私が望む結果:

ここに画像の説明を入力してください

これまでのところ、以下のように、サブチャネルでのみ購入者の数を表示するクエリを作成することしかできません。

SELECT count(aa.buyer_id) as Number_of_buyers FROM (SELECT b.buyer_id
FROM tbl_channel a 
RIGHT JOIN tbl_buyer b on (a.id=b.channel_id)
WHERE a.parentid_channel_id = 2 /* PARENT ID */
GROUP by b.buyer_id ORDER BY b.channel_id) aa

上記のような結果を生成するための完全なクエリを作成するのを手伝ってもらえますか?前にありがとう:)

4

1 に答える 1

3
SELECT  a.channel_id `Channel ID`,
        a.channel_title `Channel Title`,
        COUNT(DISTINCT c.buyer_id) `Number of Buyers`
FROM    tbl_Channel a
        INNER JOIN tbl_Channel b
            ON a.channel_ID = b.parent_channel_id
        INNER JOIN tbl_buyer c
            ON  b.channel_ID =  c.channel_ID
WHERE   a.parent_channel_id = 0
GROUP BY a.channel_id,
         a.channel_title
于 2012-11-12T05:48:25.790 に答える