Mysql 根据日期分组查询

基本的思路:
1:一般会根据一年中的十二个月份,一个星期中的每一天,等等
这样的话直接就可以使用from_unixtime(stamp,”%Y-%m”)函数,然后再去group by就行了
2:在某个时间段进行查询,需要学会使用floor 和 substring 具体看下面 然后再去group by就ok了

1:数据如下
2:实现的功能是每5分钟一组
mysql> select * from tb;
+---------------------+------+
| t                   | m    |
+---------------------+------+
| 2007-01-01 10:00:23 |    8 |
| 2007-01-01 10:01:24 |    4 |
| 2007-01-01 10:05:00 |    2 |
| 2007-01-01 10:06:12 |    3 |
| 2007-01-01 10:08:00 |    1 |
| 2007-01-01 10:12:11 |    5 |
+---------------------+------+

查询语句如下

select concat(substring(t,1,14) ,floor(substring(t,15,2)/5)*5) as tmp,sum(m) from tb group by tmp  order by t;
+------------------+--------+
| tmp              | sum(m) |
+------------------+--------+
| 2007-01-01 10:0  |     12 |
| 2007-01-01 10:5  |      6 |
| 2007-01-01 10:10 |      5 |
+------------------+--------+
3 rows in set (0.00 sec)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值