首页 > 代码库 > MySql 求一段时间范围内的每一天,每一小时,每一分钟
MySql 求一段时间范围内的每一天,每一小时,每一分钟
平常经常会求一段时间内的每一天统计数据,或者每一时点的统计数据。但是mysql本身是没有直接获取时点列表的函数或表。下面是自己用到的一些方法,利用临时变量和一个已存在的比较多数据(这个需要根据实际情况决定)的表做关联得到时点列表。希望对大家有所帮助。
sql中用到的一些关键数据
#t_table表是系统上已存在的一个有比较多数据的表
一个月的每一天
#2017年7月份的每一天SET @beginDate=‘2017-07-01‘;SET @maxDate =‘2017-07-31‘;SELECT DATE(@tempDay),@tempDay:=DATE_ADD(@tempDay,INTERVAL 1 DAY)FROM t_table f #该表是系统上已存在的一个有比较多数据的表LEFT JOIN (SELECT @tempDay:=@beginDate) b ON 1=1WHERE @tempDay<=@maxDate
昨天的每一小时
#昨天的每一小时SET @beginDate=DATE(DATE_ADD(NOW(),INTERVAL -1 DAY));SET @maxDate =DATE(NOW());SELECT DATE_FORMAT(@tempHour ,‘%H‘),@tempHour :=DATE_ADD(@tempHour,INTERVAL 1 HOUR)FROM t_table fLEFT JOIN (SELECT @tempHour :=@beginDate) b ON 1=1WHERE @tempHour <@maxDate
一小时内的每一分钟
#一小时内的每一分钟SET @beginDate=‘2017-08-01 17:00:00‘;SET @maxDate =‘2017-08-01 18:00:00‘;SELECT DATE_FORMAT(@tempMinute ,‘%i‘),@tempMinute :=DATE_ADD(@tempMinute,INTERVAL 1 MINUTE)FROM t_table tLEFT JOIN (SELECT @tempMinute :=@beginDate) b ON 1=1WHERE @tempMinute <@maxDate
MySql 求一段时间范围内的每一天,每一小时,每一分钟
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。