查询用户出现在表中后的前48小时活动(hiveql/sql)

cqoc49vn  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(343)

我正在使用一个hive表,它表示网站上的流量,并包含如下列 user_id , day ,和 event . 我还有一份单独的 user_id s、 我正在尝试为这个配置单元表编写一个查询,它返回与列表中每个用户的前48小时活动相对应的所有行(对于每个用户,表中有一个初始行 event = SIGNUP ).
我对如何写这个查询有点困惑。有人有什么建议吗?
谢谢!

kh212irz

kh212irz1#

您可以使用窗口函数来计算每个窗口的第一个日期 user_id :

select t.*
from (select t.*, 
             min(day) over (partition by user_id) as min_day
      from t
      where t.user_id in ( . . . ) -- your list here
     ) t
where day <= date_add(min_day, 2)

相关问题