栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

SQL面试题-统计连续n天登陆的用户(开窗函数,date

SQL面试题-统计连续n天登陆的用户(开窗函数,date

统计连续 5 天登录的用户,login 登录表:

hive> select * from temp;
OK
2020-09-01	a
2020-09-01	b
2020-09-02	a
2020-09-03	a
2020-09-03	b
2020-09-04	a
2020-09-04	b
2020-09-05	a
2020-09-06	a
2020-09-07	b
2020-09-08	a
2020-09-10	a
2020-09-11	a
2020-09-11	b
2020-09-23	b
2020-09-24	b
2020-09-26	b
2020-09-27	b
2020-09-29	b
2020-09-30	b
2020-09-12	b
2020-09-17	b
Time taken: 0.085 seconds, Fetched: 22 row(s)
hive> select distinct a.userid from (select dt,userid,row_number() over(partition by userid order by dt) as rank from temp) a join (select dt,userid,row_number() over(partition by userid order by dt) as rank from temp) b on a.userid = b.userid and a.rank = b.rank -5 and a.dt = date_add(b.dt,-5);
OK
a
Time taken: 10.525 seconds, Fetched: 1 row(s)
SQL

select distinct a.userid from (select dt,userid,row_number() over(partition by userid order by dt) as rank from temp) a join (select dt,userid,row_number() over(partition by userid order by dt) as rank from temp) b on a.userid = b.userid and a.rank = b.rank -5 and a.dt = date_add(b.dt,-5);

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/734543.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号