Я пытаюсь выяснить количество пользователей, которые прослушивали более 10 минут каждый месяц в течение последних 6 месяцев.
У нас есть это событие: Song_stopped_listen
и один атрибут session_progress_ms
Теперь я пытаюсь увидеть ежемесячную эволюцию числа этой когорты за последние 6 месяцев.
Я использую bigquery, и это запрос, который я пробовал, но я чувствую, что что-то не так семантически, но я не могу понять:
SELECT
CONCAT(CAST(EXTRACT(YEAR FROM DATE (timestamp)) AS STRING),"-",CAST(EXTRACT(MONTH FROM DATE (timestamp)) AS STRING)) AS date
,SUM(absl.session_progress_ms/(1000*60*10)) as total_10_ms, COUNT(DISTINCT u.id) as total_10_listeners
FROM ios.song_stopped_listen as absl
LEFT JOIN ios.users u on absl.user_id = u.id
WHERE absl.timestamp > '2018-05-01'
Group by 1
HAVING(total_10_ms > 1)
Пожалуйста, помогите понятьчто я здесь делаю неправильно.Спасибо.
Пример данных:
user_id | session_progress_ms | timestamp
1 | 10000 | 2017-10-10 14:34:25.656 UTC
Что я хочу получить:
||Month-year | Count of users who listened to more than 10 mins
|2018-5 | 500
|2018-6 | 600
|2018-7 | 300
|2018-8 | 5100
|2018-9 | 4500
|2018-10 | 1500
|2018-11 | 1500
|2018-12 | 2500