在 2 个日期的小时和分钟之间查询

Che*_*skq 1 mysql hour minute

我的 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)

Gor*_*off 5

我建议在小时比较中减去 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)