点击右侧关注,大数据开发领域最强公众号!
点击右侧关注,暴走大数据!
在日常工作中,可能经常会接到业务方类似这样的需求:
统计今年每个用户最长连续签到的天数;
统计最近一个月连续有回帖超过5天的话题;
统计本季度中连续3天以上单日销量超过100的商品。
这种“连续天数”问题看似简单,但实际上对思维能力和编写复杂SQL语句的能力要求比较高。下面以我们曾经接到的一个需求为例,提出解决办法。
create table user_calendar_record (user_id bigint comment '用户ID',event_type int comment '记录类型',event_data string comment '记录数据',upload_time string comment '上传时间'del_status int comment '删除状态') partitioned by (pt_date string comment '记录(分区)日期');
现要找出4月间,每个用户类型为24的记录项。如果有用户连续一周及以上记录该项,说明TA对某方面特别重视,应当重点运营。
编写SQL的思路如下。为了