hivesql数据处理中两个代表性的连续性问题

1.用户连续3天登录

create table tmp_user_login (
userid int,
time date
) ;
insert into tmp_user_login values (1,‘2020-04-18’),(1,‘2020-04-19’),(1,‘2020-04-20’),(1,‘2020-04-21’),(2,‘2020-04-16’),(2,‘2020-04-17’),(2,‘2020-04-18’),(3,‘2020-04-18’),(4,‘2020-04-18’),(5,‘2020-04-18’),(6,‘2020-04-18’),(7,‘2020-04-18’);

select user_id, count(1) cnt
from (
select
t1.user_id
, t1.login_date
, row_number() over(partition by t1.user_id order by t1.login_date asc) rn
from (select user_id,login_date from tmp_user_login group by user_id,login_date) t1
) t
group by t. user_id, date_sub(login_date, t.rn)
having count(1) >= 3;

2.某一个周期内用户连续4次5秒内下单。
create table tmp_user_order
as
select
user_id,
order_time,
order_time-LAG(order_time,1,‘1970-01-01 00:00:00’) OVER(PARTITION BY cookieid ORDER BY createtime) AS timediff<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科学的N次方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值