SQL查询从访问位置列表中查找源/目标记录

时间:2019-03-12 10:58:58

标签: sql time-series amazon-athena presto

考虑以下表格结构:


    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运行此查询)

0 个答案:

没有答案