from tableName where date_format(create_time, ‘%Y-%m-%d’ ) = ‘2021-09-07’
group by hour(create_time)
在开发中遇到如下问题:现地的OPC采集数据的频率是5分钟一次,通过数据同步的方式同步到业务库,以图表的形式展示给业务人员。因为数据量较大,把每一条数据都展示出来导致页面数据太多。业务人员提出按每半小时取一条数据,各项指标取这半小时内的平均值。
原数据展示
1,按半小时分组就是将半小时内的时间划为一组。即2020-05-01 00:00 --2020-05-01 00:25 这些数据将被分到2020-05-01 00:00 这一组
2,先利用UNIX_TIMESTAMP函数将tm字段转化成秒,其表示从1970-01-01 00:00:00到tm所经历的秒数,对其做半小时的向下取整,最后再做Group by。
1800秒:半小时
floor(t.tm/1800) : 对于半小时的个数做向下取整
floor(t.tm/1800) * 1800: 取得整半小时的时间
3,对具体的监测值再做处理。我这里只要对这个时间段内的取平均数就行了。经过调整,达到业务人员的需求。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)