在datetime字段中给定两个mysql时隙之间获取几次插槽的计数

时间:2015-09-28 11:17:13

标签: php mysql datetime

我有几个数据和日期mysql datetime值。我需要从给定的dateperiod和给定的时间段返回总计数

实施例

time               
2012-02-01 10:00
2012-02-01 12:00
2012-02-01 14:00
2012-02-02 09:00       

2012-02-02 10:00       
2012-02-03 11:00       

如何根据此问题获取时间和日期时段表格日期时间字段的数据基础我只想获取从2012-02-01到2012-02-02的数据以及从09:00到12:00的时间这不应该提供2012-02-01 14:00的数据,希望你现在得到这个

4 个答案:

答案 0 :(得分:0)

试试这个 -

SELECT count(*) as c FROM users WHERE created_at 
BETWEEN '2012-02-01 09:00' AND '2012-02-02 02:00' AND 
Time(c) BETWEEN '09:00' AND '02:00'

答案 1 :(得分:0)

您的查询中有拼写错误。截止时间是14:00,而不是12:00:

SELECT COUNT(*)
FROM users
WHERE created_at BETWEEN '2012-02-01 09:00' AND '2012-02-02 14:00' ;

编辑:

如果您尝试单独限制时间和日期,请使用以下两个条件:

SELECT COUNT(*)
FROM users
WHERE created_at >= '2012-02-01' AND created_at < '2012-02-03'  AND
      time(created_at) BETWEEN '09:00:00' AND '14:00:00' ;

答案 2 :(得分:0)

您只需要在声明中添加count(*)。

student
   .sort(function(){
       return Math.random() - 0.5;
     })
   .slice(0,3)

答案 3 :(得分:0)

2012-02-01 14:00被合理地包含在您的查询结果中,您想要实现的目标可以通过这种方式完成

SELECT * FROM users WHERE 
(DATE(created_at) BETWEEN '2012-02-01' AND '2012-02-02')
AND
(TIME(created_at) BETWEEN '09:00' AND '12:00')