SQL-запрос для поиска записей источника / назначения из списка посещенных мест - PullRequest
0 голосов
/ 12 марта 2019

Учитывая следующую структуру таблицы:


    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)

...