2.查询至少连续三天下单的用户(连续登录问题求解)

思路分析:

(1)求出每个user_id对应的create_date明细数据并去重

(2)开窗求user_id分组下按照create_date的排序号row_num

(3)使用create_date与row_num求差值作为日期days字段,如果连续登录那么差值相同,

(4)按照user_id与days分组计数求数量大于3的user_id就是连续登录用户

代码实现:

sql 复制代码
select 
user_id
from(
        select 
        user_id,
            date_sub(create_date, row_num) as days
        from (
                select 
                user_id,
                    create_date,
                    ROW_NUMBER() over(partition by user_id order by create_date) as row_num
                from (
                        select 
                        user_id,
                            create_date
                        from order_info
                        GROUP BY user_id,
                            create_date
                    ) t0
            ) t1
    ) t2
group by user_id,
    days
having count(*) >= 3;
相关推荐
℡終嚸♂6803 小时前
FlowiseAI 任意文件上传 CTF Writeup
sql·web安全
与衫4 小时前
[特殊字符] 解决 DataHub 无法解析复杂 SQL 血缘的问题(gsp-datahub-sidecar 实测)
数据库·sql
以神为界9 小时前
数据库入门全指南:从基础概念到实操操作(含SQL+Navicat)
网络·数据库·sql·安全
Elastic 中国社区官方博客9 小时前
Elasticsearch:快速近似 ES|QL - 第二部分
大数据·数据库·sql·elasticsearch·搜索引擎·全文检索
七夜zippoe11 小时前
DolphinDB SQL查询:从简单到复杂
数据库·sql·mysql·查询·dolphindb
山峰哥12 小时前
SQL性能飞跃:从索引策略到查询优化的全链路实战指南
数据库·sql·性能优化·深度优先
fy1216312 小时前
【SQL】写SQL查询时,常用到的日期函数
数据库·sql
wuyikeer13 小时前
如何在docker中的mysql容器内执行命令与执行SQL文件
sql·mysql·docker
孟意昶15 小时前
Doris专题28-聚合多维分析
大数据·数据库·数据仓库·sql·doris
七夜zippoe1 天前
DolphinDB SQL查询:从基础到进阶
数据库·sql·进阶·聚合·dolphindb