У меня есть таблица, которая выглядит следующим образом:
Я пытаюсь создать запрос, который покажет определенные c счетчики partnerId сгруппированы по ключевым словамName и month . Чтобы решить первую часть (без группировки по месяцам), я построил этот запрос:
SELECT keywordName, COUNT(keywordName) as total, IFNULL(b.ebay_count, 0) as ebay, IFNULL(c.amazon_count, 0) as amazon,
FROM LogFilesv2_Dataset.FR_Clickstats_v2 a
LEFT JOIN
(SELECT keywordName as kw , SUM(CASE WHEN partnerId='eBay' THEN 1 ELSE 0 END) as ebay_count
FROM LogFilesv2_Dataset.FR_Clickstats_v2
WHERE partnerId = 'eBay' GROUP BY kw) b
ON keywordName = b.kw
LEFT JOIN
(SELECT keywordName as kw , SUM(CASE WHEN partnerId='AmazonApi' THEN 1 ELSE 0 END) as amazon_count
FROM LogFilesv2_Dataset.FR_Clickstats_v2
WHERE partnerId = 'AmazonApi' GROUP BY kw) c
ON keywordName = c.kw
WHERE keywordName = 'flipper' -- just to filter out single kw.
GROUP BY keywordName, ebay, amazon
Он работает довольно хорошо и возвращает следующий вывод:
Сейчас я пытаюсь создать дополнительную группу по месяцам, но все мои попытки дали неверные результаты. Окончательный результат должен быть примерно таким: