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

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

请问sql如何操作?谢谢
...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluezsh 2016-07-12
  • 打赏
  • 举报
回复
谢谢各位,这个已经解决了。
zjcxc 2016-07-11
  • 打赏
  • 举报
回复
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

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧