国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - SQL查詢至少連續n天登錄的用戶

SQL查詢至少連續n天登錄的用戶

2022-02-17 21:02LUC Mysql

這篇文章介紹了SQL查詢至少連續n天登錄用戶的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

以連續3天為例,使用工具:mysql。

1.創建sql表:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 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 orde 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);
insert 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);
insert into orde values('9' , '2019/1/10',199);
insert into orde values('9' , '2019/1/13',188 );

查看數據表:

SQL查詢至少連續n天登錄的用戶

2.使用row_number() over()  排序函數計算每個id的排名,sql如下:

?
1
2
3
select *,row_number() over(partition by id order by date ) 'rank'
from orde
where orders is not null;

查看數據表:

SQL查詢至少連續n天登錄的用戶

 3.將date日期字段減去rank排名字段,sql如下:

?
1
2
3
4
5
6
select *,date_sub(a.date,interval a.rank day) 'date_sub'
from(
select *,row_number() over(partition by id order by date ) 'rank'
from orde
where orders is not null
) a;

查看數據:

SQL查詢至少連續n天登錄的用戶

4.根據id和date分組并計算分組后的數量(count)、計算最早登錄和最晚登錄的時間,sql如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
select b.id,min(date) 'start_time',max(date) 'end_time',count(*) 'date_count'
from(
select *,date_sub(a.date,interval a.rank day) 'date_sub'
from(
select *,row_number() over(partition by id order by date ) 'rank'
from orde
where orders is not null
) a
) b
group by b.date_sub,id
having count(*) >= 3
;

 查看數據:

SQL查詢至少連續n天登錄的用戶

參考資料:

SQL查詢至少連續七天下單的用戶

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/weixin_45456209/article/details/122218453

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区二区三区在线播放 | 国产精品不卡视频 | 国产 日韩 一区 | 亚洲自拍偷拍综合 | 日本一区二区视频 | 亚洲精品视频一区二区三区 | 久久久久久久一区 | 亚洲国产精品一区二区第一页 | 免费裸体无遮挡黄网站免费看 | 色噜| 一区二区三区国产 | 亚洲精品视频一区二区三区 | 天天干夜夜弄 | 国产精品色婷婷亚洲综合看 | 激情久久婷婷 | 欧美 亚洲 一区 | 精品久久亚洲 | 操操操操操操 | 日韩欧美在线观看视频 | 91激情在线 | 欧美日韩国产一区二区三区不卡 | 波多野结衣福利电影 | 亚洲电影一区二区三区 | 欧美精品久久久久久久久老牛影院 | 一区二区三区四区视频 | 欧美视频网站 | 天天综合网网欲色 | 君岛美绪一区二区三区 | 久久噜噜噜精品国产亚洲综合 | 日韩欧美在线不卡 | 欧美一区二区三区精品 | 激情综合五月天 | 日韩精品三区 | 亚洲一区中文字幕 | 日本一区二区不卡 | 欧美激情国产日韩精品一区18 | 高清一区在线观看 | 日日夜夜av | 一区二区三区国产 | 成人天堂资源www在线 | 在线观看亚洲 |