я пытаюсь написать HiveQL
(или даже ANSI SQL
) запроса, который может ответить на следующий:SQL - Количество сеансов и сделок между сессией
У меня есть база данных с событиями (сделками), каждое событие хранятся с a user_id
и trans_time
(время транзакции). A user_id
может иметь неограниченные события, даже возможно иметь несколько событий с тем же trans_time
.
Если я установил окно активности времени (то есть 10 секунд), сколько окон было, сколько событий в этом окне? Я думаю, что результат будет примерно таким (очевидно, без слов, просто цифр) ...
100 окон имели только 1 событие
50 окон имели 2 события
.
.
1 окно, в котором было 30 событий
Чтобы описать первый результат ... В наборе данных было 100 экземпляров, где в течение 10 секунд было всего 1 событие.
Есть ли способ, чтобы вытащить другой показатель из тех же данных, что говорит, 50 user_ids был только 1 событие
25 user_ids были 2 события
.
.
1 user_id has 30 events
Чтобы описать первый результат ... Было 50 пользовательских_пользователей, которые имели только 1 событие в 10-секундном окне.
Я надеюсь, что это не слишком туманно. Как всегда, спасибо!
Трудно понять, что вы после. Пример вашей таблицы и желаемый результат будут экспоненциально увеличивать вероятность ответа на ваш вопрос. – gobrewers14