Вот мои данные:
app_id event_type event_time
1 event1 2020-22-03 04:05:03
1 event3 2020-22-03 04:05:04
1 event2 2020-22-03 04:05:05
1 event3 2020-22-03 04:05:10
1 event1 2020-22-03 04:05:11
1 event2 2020-22-03 04:05:12
2 event3 2020-22-03 04:05:04
Я хочу посчитать сумму двух событий для каждого app_id
:
- Количество
event3
- Число
event1
, за которым сразу следует (на основе event_time
) event2
. При данных выше, результат будет:
app_id count
1 3 <--- (2 * event3 + event1 followed by event2)
2 1
Число event3
можно рассчитать с помощью:
SELECT app_id,
count(event_type = 'event3')
FROM test_table
GROUP BY app_id;
Для второго счета, я думаю, данные должны быть GROUP BY app_id
в сочетании с ORDERBY event_time
Я также видел другие ответы для проверка последовательных значений ( Количество последовательных вхождений значений в таблице ), но я не смог адаптировать его к своему варианту использования