获取用户连续登录日期

id user login_date
1 lisi 2020-07-01
2 lisi 2020-07-02
3 lisi 2020-07-03
4 lisi 2020-07-07
5 lisi 2020-07-08
6 lisi 2020-07-09
7 lisi 2020-07-10
8 lisi 2020-07-11
9 lisi 2020-07-12
10 lisi 2020-07-13
11 lisi 2020-07-14
12 lisi 2020-07-19
13 lisi 2020-07-20
14 lisi 2020-07-21
15 lisi 2020-07-24
16 lisi 2020-07-28
17 lisi 2020-07-29
18 lisi 2020-07-30
19 lisi 2020-07-31
20 lisi 2020-08-01
21 zhangsan 2020-06-10
22 zhangsan 2020-06-11
23 zhangsan 2020-06-12
24 zhangsan 2020-06-13
25 zhangsan 2020-06-15
26 zhangsan 2020-06-16
27 zhangsan 2020-06-20
28 zhangsan 2020-06-22
29 zhangsan 2020-06-23
30 zhangsan 2020-06-24
31 zhangsan 2020-06-25
32 zhangsan 2020-06-29
33 zhangsan 2020-06-30
34 zhangsan 2020-08-05
35 zhangsan 2020-08-06

select * from (
select *,
lead(login_date,1) over(partition by user order by login_date) end
from (
	select user, login_date,next_login_date,last_login_date,
		DATEDIFF(next_login_date,login_date) n_diff,
		-DATEDIFF(last_login_date,login_date) l_diff
	from (
			select user , login_date,
				lead(login_date,1,"0001-01-01") over(partition by user order by login_date) next_login_date ,
				lag(login_date,1,"0001-01-01") over(partition by user order by login_date) last_login_date
			from (
				select user, date_format(login_date,'%Y-%m-%d') login_date from retention) a ) b ) c 
where n_diff<>l_diff ) d where n_diff = 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值