1
IDのカウントを取得しようとすると、私は日でグループ化するときと私がそうでないときに別の答えが得られます。カウントとグループを使用すると異なる出力
select cv.CONV_DAY, count(distinct cv.CLICK_ID)
from
clickcache.click cc
right join(
select distinct cv.CLICK_ID, cv.CONV_DAY, cv.PIXEL_ID
from clickcache.CONVERSION cv
where cv.CLICK_ID IS NOT NULL) cv ON cv.CLICK_ID = cc.ID
where cc.ADV_ACCOUNT_ID = 25176
and cv.CONV_DAY between '2016-8-01' AND '2016-08-07'
and AMP_CLICK_STATUS_ID = 1
AND pixel_id IN
(SELECT DISTINCT conversion_pixel_id
FROM
ampx.campaign_event_funnel ef
JOIN ampx.campaign cp ON
cp.id = ef.campaign_id
AND cp.campaign_status_id = 1
WHERE
ef.account_id IN(25176)
AND include_optimization = 1)
group by 1
order by 1 asc
これが正解と私が欲しいです170を生成します。これは、他の一方で、157を表示
select count(distinct cv.CLICK_ID)
from
clickcache.click cc
right join(
select distinct cv.CLICK_ID, cv.CONV_DAY, cv.PIXEL_ID
from clickcache.CONVERSION cv
where cv.CLICK_ID IS NOT NULL) cv ON cv.CLICK_ID = cc.ID
where cc.ADV_ACCOUNT_ID = 25176
and cv.CONV_DAY between '2016-8-01' AND '2016-08-07'
and AMP_CLICK_STATUS_ID = 1
AND pixel_id IN
(SELECT DISTINCT conversion_pixel_id
FROM
ampx.campaign_event_funnel ef
JOIN ampx.campaign cp ON
cp.id = ef.campaign_id
AND cp.campaign_status_id = 1
WHERE
ef.account_id IN(25176)
AND include_optimization = 1)
私の質問私は、この矛盾を入手できますし、どのように適切なカウントを取得するためにそれを修正する理由は?
ありがとうございました!
1日ごとにグループ化している場合、 'count'は全体の' count'よりも大きくなるべきではなく、その日に基づくサブセットです。おそらくあなたは170日持っていると思うそれはカウントですか?サンプルデータと期待される結果は役に立ちます... – sgeddes
私は同じ 'cv.CLICK_ID'が別の日に入ったと思いますので、1日あたりのCLICK_IDの合計がテーブル内の別個のCLICK_IDの数よりも大きいです。 – valex