考虑以下表格结构:
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运行此查询)