开发过程中有一个需求,需要任意时间段进行聚合统计,例如 每5秒,每10分钟,每2小时 num值得的聚合
为了满足上面需求自行建立表,自行填充数据
CREATE TABLE `ceshi1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`num` int(11) DEFAULT '1',
`create_time` int(11) DEFAULT NULL,
`update_time` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `ceshi`.`ceshi1` (`create_time`) VALUES ('1649758575');
1 自定义函数实现
2 对时间做整除的方法
自定函数 这里就不介绍啦 这里咱主要说的是第二种方法
这里会用的mysql的一些函数
FROM_UNIXTIME 和 UNIX_TIMESTAMP 不理解的,或者不知道怎么应用的自行百度下,因为我这创建的是 int 类型的是 时间戳 所以没有用的UNIX_TIMESTAMP
每5秒 聚合
SELECT