有一个表 table 记录了当天的数据,字段主要有id,create_time
本人现在想按照时间输出当前时间段的数据汇总,
例如本人输出一天中18点前、 18点至19(含)点count(id),19~20(含)点count(id)及22点之后数据
问一下sql怎么样操作?谢谢
本人现在想按照时间输出当前时间段的数据汇总,
例如本人输出一天中18点前、 18点至19(含)点count(id),19~20(含)点count(id)及22点之后数据
问一下sql怎么样操作?谢谢
解决方案
10
用CASE WHEN 处理一下create_time
10
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