SQL连续




1、连续概述


连续问题是实际数据开发中比较常见的场景。例如,连续活跃天数用户统计等

SQL如何解决连续问题?本文主要介绍连续性问题,重点以常见的连续活跃场景为例,抽象出通用的连续问题解决方案。连续问题主要分为静态连续问题和动态连续问题两类

本文尝试独辟蹊径,强调通过灵活的、发散性的数据处理思维,就可以用最基础的语法,解决复杂的数据场景。文章涉及的SQL语句使用了Hive SQL的基础语法和部分高级语法特性

相关函数参考MaxCompute:https://help.aliyun.com/zh/maxcompute/user-guide/overview/?spm=a2c4g.11186623.0.0.738048b99fbTqb

2、SQL连续及应用


接下来,我们通过连续活跃场景案例,详细介绍SQL连续及应用

场景描述:现有用户访问日志表visit_log,每行数据表示一条用户访问日志

with visit_log as (
    select stack (
        6,
        '2023-11-01', '101', '湖北', '武汉', 'Android',
        '2023-11-01', '102', '湖南', '长沙', 'IOS',
        '2023-11-01', '103', '四川', '成都', 'Windows',
        '2023-11-02', '101', '湖北', '孝感', 'Mac',
        '2023-11-02', '102', '湖南', '邵阳', 'Android',
        '2023-11-03', '101', '湖北', '武汉', 'IOS'
    ) 
    -- 字段:日期,用户,省份,城市,设备类型
    as (dt, user_id, province, city, device_type)
)
select * from visit_log

2.1、静态连续


静态连续活跃统计问题:

需求描述1:统计连续访问天数大于等于3天的用户

猜你喜欢

转载自blog.csdn.net/weixin_55629186/article/details/135020086