Mysql如何以每两小时为维度进行统计

在做查询统计功能的时候,会碰到统计某一天的数据,按照每两小时为维度进行统计

效果

在这里插入图片描述

思路

之前做按照天为维度,都是将日期格式化的时候,取到天,这样就忽略了时分秒,再对格式化的日期进行group by即可。同理,对这个需求,我们对小时进行处理,将小时单独取出来,先除以2,对结果向上取整,再乘以2即可。例如 ceil(3 / 2) * 2 = 4。

代码

这里说明下,代码中kssj代表开始时间字段,是13位时间戳,若大家数据库存储的是时间,则自行转换。

SELECT
	count( 1 ),
	t.kssj 
FROM
	(
SELECT
	CONCAT(
	FROM_UNIXTIME( LEFT ( kssj, 10 ), '%Y-%m-%d ' ),
	( FROM_UNIXTIME( LEFT ( kssj, 10 ), '%H' ) / 2 ) * 2 
	) AS kssj 
FROM
	#{表名} 
	) t 
GROUP BY
	t.kssj 
ORDER BY
	t.kssj
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值