MySQL group by 统计每5分钟数据量
20-10-23 00:01
字数 1720
阅读 5675
已编辑
需求
有打卡记录表结构如下
ID | user_id (int) | create_time (int) |
---|---|---|
1 | 123 | 1603209599 |
现需要统计每5分钟的记录数量,按记录数量降序排列
分析
关键在于怎么把create_time按每5分钟分组,可以使用取模 % 实现
举例
现有时间戳 1 - 10 秒,每5秒分一组
首先对每秒跟5取模,结果如下
1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
4 % 5 = 4
5 % 5 = 0
6 % 5 = 1
7 % 5 = 2
8 % 5 = 3
9 % 5 = 4
10 % 5 = 0
然后使用对应的秒数减去取模后的结果如下
1 - 1 % 5 # 0
2 - 2 % 5 # 0
3 - 3 % 5 # 0
4 - 4 % 5 # 0
5 - 5 % 5 # 5
6 - 6 % 5 # 5
7 - 7 % 5 # 5
8 - 8 % 5 # 5
9 - 9 % 5 # 5
10 - 10 % 5 # 10
没发现规律,那么把秒数增加到20秒
11 - 11 % 5; # 10
12 - 12 % 5; # 10
13 - 13 % 5; # 10
14 - 14 % 5; # 10
15 - 15 % 5; # 15
16 - 16 % 5; # 15
17 - 17 % 5; # 15
18 - 18 % 5; # 15
19 - 19 % 5; # 15
20 - 20 % 5; # 20
改写下公式
concat(create_time - create_time % 5, '~', create_time - create_time % 5 + 5)
最终计算的结果结果如下
SELECT 1 - 1 % 5; # 0 (0 ~ 5)
SELECT 2 - 2 % 5; # 0 (0 ~ 5)
SELECT 3 - 3 % 5; # 0 (0 ~ 5)
SELECT 4 - 4 % 5; # 0 (0 ~ 5)
SELECT 5 - 5 % 5; # 5 (5 ~ 10)
SELECT 6 - 6 % 5; # 5 (5 ~ 10)
SELECT 7 - 7 % 5; # 5 (5 ~ 10)
SELECT 8 - 8 % 5; # 5 (5 ~ 10)
SELECT 9 - 9 % 5; # 5 (5 ~ 10)
SELECT 10 - 10 % 5; # 10 (10 ~ 15)
SELECT 11 - 11 % 5; # 10 (10 ~ 15)
SELECT 12 - 12 % 5; # 10 (10 ~ 15)
SELECT 13 - 13 % 5; # 10 (10 ~ 15)
SELECT 14 - 14 % 5; # 10 (10 ~ 15)
SELECT 15 - 15 % 5; # 15 (15 ~ 20)
SELECT 16 - 16 % 5; # 15 (15 ~ 20)
SELECT 17 - 17 % 5; # 15 (15 ~ 20)
SELECT 18 - 18 % 5; # 15 (15 ~ 20)
SELECT 19 - 19 % 5; # 15 (15 ~ 20)
SELECT 20 - 20 % 5; # 20 (20 ~ 25)
如此便能实现每5秒分到一组,要实现需求的每5分钟分组,只需要把5改成300,最终的SQL如下
select
concat(from_unixtime(create_time - create_time % 300), ' ~ ', from_unixtime(create_time - create_time % 300 + 300)) as period,
count(1) as record_count
from 打卡日志表
WHERE create_time BETWEEN 1603123200 and 1603209599
group by period
order by record_count DESC;
2人点赞>
请登录后发表评论
相关推荐
文章归档
2024-11
1 篇
2024-06
1 篇
2024-05
2 篇
2024-04
2 篇
2024-03
2 篇
展开剩余 68 条
2024-01
1 篇
2023-10
1 篇
2023-09
1 篇
2023-08
1 篇
2023-06
1 篇
2023-04
1 篇
2022-12
2 篇
2022-06
1 篇
2022-04
4 篇
2022-03
3 篇
2022-01
6 篇
2021-12
2 篇
2021-11
2 篇
2021-10
2 篇
2021-09
1 篇
2021-08
2 篇
2021-07
4 篇
2021-06
1 篇
2021-05
3 篇
2021-04
3 篇
2021-01
2 篇
2020-11
1 篇
2020-10
3 篇
2020-09
2 篇
2020-08
1 篇
2020-07
5 篇
2020-06
5 篇
2020-05
1 篇
2020-04
1 篇
2020-03
2 篇
2020-02
3 篇
2020-01
1 篇
2019-11
5 篇
2019-10
10 篇
2019-09
12 篇
2019-08
17 篇
2019-07
8 篇
2019-05
3 篇
2019-04
8 篇
2019-03
7 篇
2019-02
8 篇
2019-01
5 篇
2018-12
7 篇
2018-11
8 篇
2018-10
4 篇
2018-09
7 篇
2018-08
12 篇
2018-07
9 篇
2018-06
6 篇
2018-05
11 篇
2018-04
18 篇
2018-03
1 篇
2018-02
2 篇
2018-01
10 篇
2017-12
14 篇
2017-11
44 篇
2017-10
13 篇
2017-09
4 篇
2017-08
12 篇
2017-07
5 篇
2017-06
4 篇
2017-05
2 篇
2017-04
3 篇
2017-03
9 篇
2017-02
3 篇
2017-01
2 篇
2016-12
10 篇
2016-11
4 篇
最新文章
最受欢迎
11-07 19:00
06-26 11:51
05-17 17:08
05-17 10:59
04-11 17:05
13 评论
11 评论
10 评论
叼
妙啊
妙啊