对一个表中数据按照时间小时(小时段)输出

bluezsh 2016-07-11 11:10:38
有一个表 table 记录了当天的数据,字段主要有id,create_time
我现在想按照时间输出当前时间段的数据汇总,
比如我输出一天中18点前、 18点至19(含)点count(id),19~20(含)点count(id)及22点之后数据

请问sql如何操作?谢谢
...全文
75 点赞 收藏 4
写回复
4 条回复
bluezsh 2016年07月12日
谢谢各位,这个已经解决了。
回复 点赞
select date_format(create_time,'%Y%m%d %h'), count(*) from table group by date_format(create_time,'%Y%m%d %h')
回复 点赞
五茅 2016年07月11日
SELECT create_time,COUNT(1) num
FROM(
	SELECT
	CASE WHEN create_time BETWEEN '2016-07-11 18:00:01' AND '2016-07-11 19:00:00' THEN 'C1819'  
		  WHEN  create_time BETWEEN '2016-07-11 19:00:01' AND '2016-07-11 20:00:00' THEN 'C1920'
		   WHEN  create_time BETWEEN '2016-07-11 22:00:01' AND '2016-07-11 24:00:00' THEN 'C2200'
		   ELSE 'COTHERS' END AS create_time ,id
	FROM tablename 
)t1 GROUP BY t1.create_time
回复 点赞
ACMAIN_CHM 2016年07月11日
用CASE WHEN 处理一下create_time
回复 点赞
发动态
发帖子
MySQL
创建于2007-09-28

2.4w+

社区成员

5.5w+

社区内容

MySQL相关内容讨论专区
社区公告
暂无公告