Код: Выделить всё
+---------+-------------+---------------+---------------+
| Lead Id | Activity ID | Activity Type | Activity Data |
+---------+-------------+---------------+---------------+
| 1 | 12345 | 6 | 1/1/2021 |
+---------+-------------+---------------+---------------+
| 1 | 12346 | 6 | 1/2/2021 |
+---------+-------------+---------------+---------------+
| 1 | 12347 | 10 | 1/3/2021 |
+---------+-------------+---------------+---------------+
| 1 | 12348 | 6 | 1/3/2021 |
+---------+-------------+---------------+---------------+
| 1 | 12349 | 6 | 1/4/2021 |
+---------+-------------+---------------+---------------+
| 1 | 123410 | 9 | 1/5/2021 |
+---------+-------------+---------------+---------------+
Код: Выделить всё
define macro counts
(
SELECT
COUNT(CASE WHEN activity_type_id = 6 THEN activity_type_id END) as sends,
lead_id
FROM data.Lead
JOIN data.Activity USING (lead_id)
WHERE activity_id < (SELECT activity_id FROM data.Activity WHERE activity_type_id = 9)
AND activity_date BETWEEN '2020-01-01' AND '2020-3-31'
GROUP BY 2
);
SELECT avg(sends) as avgsends
FROM $counts;
а) Ищет записи интересов, которые имеют значение активности "9".
б) Если да, подсчитывает количество значений "6" до значения "9".
в) Усредняет количество по всем интересам за заданный период времени.
Подробнее здесь: https://stackoverflow.com/questions/669 ... r-specific
Мобильная версия