直接上SQL题目:
1
、
连续7天登录的用户
数据:
数据:
1,2019-07-11,1
1,2019-07-12,1
1,2019-07-13,1
1,2019-07-14,1
1,2019-07-15,1
1,2019-07-16,1
1,2019-07-17,1
1,2019-07-18,1
2,2019-07-11,1
2,2019-07-12,1
2,2019-07-13,0
2,2019-07-14,1
2,2019-07-15,1
2,2019-07-16,0
2,2019-07-17,1
2,2019-07-18,0
3,2019-07-11,1
3,2019-07-12,1
3,2019-07-13,1
3,2019-07-14,0
3,2019-07-15,1
3,2019-07-16,1
3,2019-07-17,1
3,2019-07-18,1
表结构:
create table ulogin( uid int, dt date, status int )row format delimited fields terminated by ',';
导入数据:
load data local inpath '/home/hadoop/data/ulogin.dat' into table ulogin;
解决问题步骤:
1.使用 row_number 在组内给数据编号(rownum)
2.某个值 - rownum = gid,得到结果可以作为后面分组计算的依据
3.根据求得的gid,作为分组条件&