重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
先取出这个时间范围内的数据:
创新互联专注于弋江网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供弋江营销型网站建设,弋江网站制作、弋江网页设计、弋江网站官网定制、小程序定制开发服务,打造弋江网络公司原创品牌,更为您提供弋江网站排名全网营销落地服务。
select count(*) from `tab_time` where `time` between '2015-10-27' and '2015-10-30' group by `time`;然后在代码中判断,不存在的,就标记为 0 。
可以用的第一种方式,但是必须有年,例如:
where 字段名 between '2009-7-1' and '2009-7-7'
如果你不限制年,比如判断生日的时候用,那么需要使用函数转换,例如:
where DATE_FORMAT(字段名,'%m%d') between '0701' and '0707'
想了一下,貌似不好查。。。
你要是一天或者一个月一个周期 好查。。。
读取到内存
程序实现吧
就算sql写出来估计效率也不能高了。。
你的问题描述的不够明确,不太清楚你要的效果,这样,给你两种效果:
1、显示某个时间段的数据:
select * from tb where hour(col_datetime)=18 and to_days(col_datetime)=to_days(curdate())
2、按时间段排序,显示当天所有时间段数据:
select '今天'+cast(hour(col_datetime) as varchar(2))+'时发布的内容',* from tb where to_days(col_datetime)=to_days(curdate()) order by col_datetime