Учитывая следующую структуру таблицы:
user_id | timestamp | visited_area_name
-----------------------------------------------------
1 | 20190203T10:00:01+00:00 | location_1
1 | 20190203T10:00:03+00:00 | location_2
2 | 20190203T10:00:03+00:00 | location_3
1 | 20190203T10:00:05+00:00 | location_1
2 | 20190203T10:00:08+00:00 | location_3 (*user 2 revisits same area)
2 | 20190203T10:00:09+00:00 | location_1
2 | 20190203T10:00:12+00:00 | location_2
1 | 20190203T10:00:32+00:00 | location_3
2 | 20190203T10:00:36+00:00 | location_1
Я хочу найти запрос, чтобы получить следующий анализ:
source | destination | amount
-----------------------------------
null | location_1 | 1
location_1 | location_2 | 2
location_2 | location_1 | 2
location_1 | location_3 | 1
null | location_3 | 1
location_3 | location_3 | 1
location_3 | location_1 | 1
Так что идея заключается в том, что разные пользователи посещают разные области в определенном порядке. Каждый компонент пути состоит из источника и пункта назначения, а «количество» - это время, в которое существует данная комбинация «источник-пункт назначения» (в пределах периода запроса).
Как бы выглядел SQL-запрос, чтобы иметь возможность этого "преобразования"?
(я не думаю, что это актуально, но я бы хотел выполнить этот запрос к Amazon Athena)