以连续3天为例,使用工具:MySQL。 1.创建SQL表: create table if not exists orde(id varchar(10),date datetime,orders varchar(10)); insert into orde values(1 , 2019/1/1,10 ); insert into orde values(1 , 2019/1/2,109 ); insert
以连续3天为例,使用工具:MySQL。 1.创建SQL表: create table if not exists orde(id varchar(10),date datetime,orders varchar(10)); 查看数据表: 2.使用row_number() over() 排序函数计算每个id的排名,SQL如下: select *,row_number() over(partition by id order by date ) 'rank'
查看数据表: 3.将date日期字段减去rank排名字段,SQL如下: select *,DATE_SUB(a.date,interval a.rank day) 'date_sub' 查看数据:
4.根据id和date分组并计算分组后的数量(count)、计算最早登录和最晚登录的时间,SQL如下: select b.id,min(date) 'start_time',max(date) 'end_time',count(*) 'date_count'
查看数据: 参考资料: SQL查询连续七天以上下单的用户 https://blog.csdn.net/qq_43807789/article/details/99091753?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~default-1.highlightwordscore&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~default-1.highlightwordscore |
2021-10-16
2022-09-14
2022-08-25
2022-03-01
2022-08-25