养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

sql 如何按半小时分组

时间:2024-10-18 05:49:12

在mysql表中将行数据按照时间字段每整半小时归成一类做数据统计。

工具/原料

Mysql服务

NavicatforMySQL

方法/步骤

1、首先,来理一下骈禄笫杳解决思路。所谓的按半小时分组就是将半小时内的时间划为一组,比如:2019-01-0100:312019-01-010扉钛笆哇0:322019-01-0100:33被分到2019-01-0100:30这一组2019-01-0100:012019-01-0100:022019-01-0100:03辈分到2019-01-0100:00这一组,看一下原表数据,那前4条应该被归到2015-07-2717:30这组,第5条到第10条应该被归到2015-07-2718:00这组

sql 如何按半小时分组

2、根据具体数据,我们看一下写出来的SQL语句,大概就是先利用UNIX_TIMESTAM绯摺驼予P函数将url_state_date字段转化成秒,其表示从1970-01-01惺绅寨瞀00:00:00到url_state_date所经历的秒数,暂时定义为state_date_sec,然后对其做半小时的向下取整,最后再做Group归并。1800秒:半小时floor(state_date_sec/1800):对于半小时的个数做向下取整floor(state_date_sec/1800)*1800:取得整半小时的时间

sql 如何按半小时分组

3、运行后查看结果,可以看到2015-07-2717:30这组有4条数据,2015-07-2718:00这组有6条数据,符合我们之前的推理。

sql 如何按半小时分组

sql 如何按半小时分组

4、如上我们是对半小时做向下取整的,根据需求我们也可以做向上取整,此时,我们只需将函数floor换成ceill1800秒:半小时ceil(state_date_sec/1800):对于半小时的个数做向下取整ceil(state_date_sec/1800)*1800:取得整半小时的时间

sql 如何按半小时分组

5、现在我们对于分组的url_state_date只是做了个数的统计,count函数,那数据库中还有其他更加丰富的函数,比如,max,min,avg等统计函数,大家可以根据自己的需求来做选择

sql 如何按半小时分组

© 一点知识