我的 mysql 查询有问题,似乎找不到任何相关内容。
我的表中有一个日期列,称为“日期”。格式为“YYYY-MM-DD HH:MM:SS”。
我试图计算几天内的所有数据,但仅当日期介于 08:30:00 和 18:30:00 之间时。
我知道如何使用 HOUR(date),但我不知道如何在查询中集成分钟。
我一直在考虑使用案例,但我不太确定。
任何帮助都会很棒。
最好的问候, Cheskq。
使用我一直在做的查询进行编辑:
select count(*), YEAR(date), MONTH(date), DAY(date)
from table
where YEAR(date) = 2014
AND HOUR(date) between 08 and 19
group by YEAR(date), MONTH(date), DAY(date);
Run Code Online (Sandbox Code Playgroud)
我建议在小时比较中减去 30 分钟:
select count(*), YEAR(date), MONTH(date), DAY(date)
from table
where YEAR(date) = 2014 AND
HOUR(date - interval 30 minute) between 08 and 17
group by YEAR(date), MONTH(date), DAY(date);
Run Code Online (Sandbox Code Playgroud)
请注意,上限为 17,假设间隔刚好在 18:30:00(例如 18:29:59.999)之前结束。
您也可以将其表示为:
select count(*), YEAR(date), MONTH(date), DAY(date)
from table
where YEAR(date) = 2014 AND
TIME(date) BETWEEN TIME('08:30:00') and TIME('18:30:00')
group by YEAR(date), MONTH(date), DAY(date);
Run Code Online (Sandbox Code Playgroud)