基于Oracle数据库计算应用分月最高唯一用户并发登录数
按月份统计最高并发登录数需求
我并非Oracle技术专家,需要根据用户的Start Date(登录开始时间)和Finish Date(登录结束时间),统计应用中按月份聚合的唯一用户最高并发登录数。
表结构
| Username | Login Activity | Start Date | Finish Date |
|---|
示例数据
| Username | Login Activity | Start Date | Finish Date |
|---|---|---|---|
| User1 | NormalTime | 2022-12-26T15:19:41 | 2022-12-26T15:19:44 |
| User2 | AfterHours | 2023-01-09T01:29:02 | 2023-01-09T02:29:29 |
| User3 | NormalTime | 2023-01-09T14:51:36 | 2023-01-09T16:28:17 |
| User4 | AfterHours | 2023-01-10T04:38:41 | 2023-01-10T05:59:33 |
| User5 | NormalTime | 2023-01-10T12:05:52 | 2023-01-10T13:08:29 |
| User4 | AfterHours | 2023-01-26T04:45:51 | 2023-01-26T06:05:38 |
| User4 | AfterHours | 2022-11-08T04:38:19 | 2022-11-08T05:48:58 |
| User4 | AfterHours | 2022-11-09T04:40:03 | 2022-11-09T06:12:10 |
| User4 | AfterHours | 2023-01-18T05:08:48 | 2023-01-18T06:20:27 |
| User4 | AfterHours | 2023-01-20T05:40:05 | 2023-01-20T05:40:05 |
| User1 | NormalTime | 2022-12-26T15:19:44 | 2022-12-26T16:20:09 |
| User2 | AfterHours | 2023-01-09T02:47:24 | 2023-01-09T03:48:13 |
| User4 | AfterHours | 2023-01-10T04:43:55 | 2023-01-10T06:00:15 |
| User4 | AfterHours | 2023-01-23T05:21:35 | 2023-01-23T06:50:33 |
| User4 | AfterHours | 2023-01-24T05:14:31 | 2023-01-24T06:24:04 |
期望输出
| Date | Max Concurrent Logins |
|---|---|
| 2022-12 | 2 |
| 2023-01 | 3 |
场景说明
例如,2023-01-30 6:00至7:00期间,用户1登录;6:05用户2登录,并发数为2;6:15用户2登出,并发数减1;6:20用户3登录,6:30用户4登录,并发数变为3;6:45用户4登出,7:00用户1登出,该时段最高并发数为3,以此逻辑统计各月数据。
内容的提问来源于stack exchange,提问作者guccifunboy
相关产品推荐
相关产品推荐

