Mysql 查询两个日期小时和分钟之间的时间
我的mysql查询有问题,似乎找不到任何相关的内容 我的表中有一个日期列,称为Date。格式为YYYY-MM-DD HH:MM:SS 我试图计算几天内的所有数据,但仅当日期介于08:30:00和18:30:00之间时 我知道如何使用HOURdate,但我不知道如何将分钟数集成到查询中 我一直在考虑使用案例,但我不太确定 任何帮助都会很好 致以最良好的祝愿, 切斯克 使用我一直在执行的查询进行编辑:Mysql 查询两个日期小时和分钟之间的时间,mysql,hour,minute,Mysql,Hour,Minute,我的mysql查询有问题,似乎找不到任何相关的内容 我的表中有一个日期列,称为Date。格式为YYYY-MM-DD HH:MM:SS 我试图计算几天内的所有数据,但仅当日期介于08:30:00和18:30:00之间时 我知道如何使用HOURdate,但我不知道如何将分钟数集成到查询中 我一直在考虑使用案例,但我不太确定 任何帮助都会很好 致以最良好的祝愿, 切斯克 使用我一直在执行的查询进行编辑: select count(*), YEAR(date), MONTH(date), DAY(dat
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);
也可以使用MINUTEdate:
也可以使用MINUTEdate:
我建议在小时比较中减去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);
请注意,上限为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);
我建议在小时比较中减去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);
请注意,上限为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);
尝试:
尝试:
你知道,这比使用时间函数看起来要容易
SELECT COUNT(*), DATE(`date`)
FROM table
WHERE TIME(`date`) BETWEEN '08:30' AND '18:30'
GROUP BY DATE(`date`)
如果您想在8:30之前但不包括18:30,请使用此选项。在用于时间范围时,以一个错误而臭名昭著
SELECT COUNT(*), DATE(`date`)
FROM table
WHERE TIME(`date`) >= '08:30'
AND TIME(`date`) < '18:30'
GROUP BY DATE(`date`)
你知道,这比使用时间函数看起来要容易
SELECT COUNT(*), DATE(`date`)
FROM table
WHERE TIME(`date`) BETWEEN '08:30' AND '18:30'
GROUP BY DATE(`date`)
如果您想在8:30之前但不包括18:30,请使用此选项。在用于时间范围时,以一个错误而臭名昭著
SELECT COUNT(*), DATE(`date`)
FROM table
WHERE TIME(`date`) >= '08:30'
AND TIME(`date`) < '18:30'
GROUP BY DATE(`date`)
向我们展示您已经试用过的SQL,很抱歉。向我们展示您已经试用过的SQL,很抱歉。我没有想到要这样做,非常感谢,它很有效我没想过要这么做,非常感谢,它很有效