一、题目
有用户点击日志记录表 t_click_log_025,包含user_id(用户ID),click_time(点击时间),请查询出连续点击三次的用户数;
连续点击三次:指点击记录中同一用户连续点击...(属于经验:要累积求和,0和不变,1和+1.)
(2.3)对打标完成的标签,进行累积求和,和相同代表属于同一用户连续(聚合函数开窗);
(2.4)对累积求和的值进行统计,相同值的个数>=3 表示连续登录...3.1 累积求和法
1)增加一列is_same_user,判断是否与上一行是同一用户点击,是取0,否取1,第一行默认为0;
select
user_id,
click_time,
case when...2)对是否是同一用户分组进行累积求和
select
user_id,
click_time,
sum(is_same_user)over(order by click_time asc) as sum_order...3)查询sum_order值个数>3的用户
select
user_id,sum_order,count(1)
from
(
select
user_id,
click_time,
sum(is_same_user