У меня есть набор показов (баннеров), которые можно было или не нажать.Я хочу посчитать появления ips, но только для тех показов, которые были нажаты.
WITH imps AS (
SELECT
day,
source_id,
ip,
trans_id
FROM
xxx
),
clicks AS (
SELECT
day,
trans_id,
1 AS clicked,
FROM
yyy
)
SELECT
imps.source_id as source_id,
histogram(
filter(zip(array_agg(ip), array_agg(clicked)), x -> x.clicked = 1)
) as ip_hist
FROM
imps
LEFT JOIN
clicks
ON imps.trans_id = clicks.trans_id
GROUP BY
imps.source_id;
Это запрос, который я пробовал, и он не работал, поскольку нажатие не является столбцом.Мне не ясно, можно ли это сделать на Presto.Кроме того, это часть более сложного запроса, и поэтому я хочу сделать фильтр внутри агрегации.