sql 如何按半小时分组

时间:2024-10-15 05:06:28

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

sql 如何按半小时分组

2、根据具体数据,我们看一下写出来的SQL语句,大概就是先利用UNIX_TIMESTAMP函数将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-27 17:30这组有4条数据,2015-07-27 18: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 如何按半小时分组
© 手抄报圈