select d.hours,case when o.num is null then 0 else o.num end as number from
(select count(*)as num,HOUR(create_TIME)as hour from at_order where DATE_FORMAT(create_TIME,'%Y-%m-%d')='2018-11-15' GROUP BY HOUR(create_TIME))o
RIGHT JOIN
(select hours from date_tool where hours is not null )d
on o.hour=d.hours
GROUP BY d.hours
获取一天24小时每小时的订单数量,没有的置为0
date_tool为统计工具表date值为1~31, hours值为 0~24 month 值为1~12
字段类型可根据自己需求改变
CREATE TABLE `date_tool` (
`TOOL_ID` int(10) NOT NULL,
`DATE` int(10) NOT NULL,
`HOURS` varchar(10) COLLATE utf8mb4_bin DEFAULT NULL,
`MONTH` varchar(10) COLLATE utf8mb4_bin DEFAULT NULL,
PRIMARY KEY (`TOOL_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;