create table 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 into orde values('1' , '2019/1/3',150 )
insert into orde values('1' , '2019/1/4',99)
insert into orde values('1' , '2019/1/5',145)
insert into orde values('1' , '2019/1/6',1455)
insert into o程式設計客棧rde values('1' , '2019/1/7',199)
insert into orde values('1' , '2019/1/8',188 )
insert into orde values('4' , '2019/1/1',10 )
insert into orde values('2' , '2019/1/2',109 )
insert into orde values('3' , '2019/1/3',150 )
insert into orde values('4' , '2019/1/4',99)
insert into orde values('5' , '2019/1/5',145)
insert into orde values('6' , '2019/1/6',1455)
inse into orde values('7' , '2019/1/7',199)
insert into orde values('8' , '2019/1/8',188 )
insert into orde values('9' , '2019/1/1',10 )
insert into orde values('9' , '2019/1/2',109 )
insert into orde values('9' , '2019/1/3',150 )
insert into orde values('9' , '2019/1/4',99)
insert into orde values('9' , '2019/1/6',145)
insert into orde values('9' , '2019/1/9',1455)gfwusp
insert into orde values('9' , '2019/1/10',199)
insert into orde values('9' , '2019/1/13',188 )
將表按照id分組根據時間排名,時間減去排名rnk,如果時間是連續的則相減的結果相等:
select *,date-排名 rnk from (select *,row_number() over(partition by id order by date) 排名 from orde) a;
然後按照id,rnk分組,計數
select id,rnk,count(*) ok from
(select *,date-排名 rnk from (select *,row_number() over(partition by id order by date) 排名 from orde) a) b group by id,rnk;
得到下表:
最後篩選計數項ok>=7的。
還可以直接進行篩選:
select id,rnk from gfwusp
(select *,date-排名 rnk from (select *,row_number() over(partition by id order by date) 排名 from orde) a) b group by id,rnk h**ing count程式設計客棧(*)>=7;
本文標題: sql查詢至少連續七天下單的使用者
本文位址:
sql語句查詢最近七天 三十天 資料
幾個小時內的資料 date sub now interval 5 hour 今天 select from 表名 where to days 時間欄位名 to days now 昨天 select from 表名 where to days now to days 時間欄位名 1 7天 select ...
sql語句查詢最近七天 三十天 資料
幾個小時內的資料 date sub now interval 5 hour 今天select from 表名 where to days 時間欄位名 to days now 昨天select from 表名 where to days now to days 時間欄位名 1 7天select fro...
sql查詢今天,昨天,七天,三十天內的資料
今天有個需求需要從查詢當天所有的資料,就去網上搜了一下,並把其他幾個通過時間條件查詢也記錄下來 1.查詢今天所有的資料 select from customer loan where datediff dd,datetime型別字段,getdate 0 2.查詢昨天的所有資料 select from...