基本的思路:
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)