在日期范围内按天分组结果

时间:2014-02-20 07:20:52

标签: mysql sql

我有一个表,其中一列是时间戳,我有以下查询

  

SELECT * FROM test WHERE(timepacket BETWEEN 2014-02-16 00:00:00 and 2014-02-19 00:00:00)AND(shift = 1)

但是这个查询给了我在sql查询中给出的日期范围之间的所有行。因此,我的问题是如何根据日期对上述查询的结果进行分组。喜欢

  

2014年2月16日

     

第1行

     

第二行

     

第3行

     

2014年2月17日

     

第1行

     

第二行

     

第3行

     

第4行

等等

3 个答案:

答案 0 :(得分:0)

SELECT * FROM test WHERE 
timepacket BETWEEN '2014-02-16 00:00:00' AND '2014-02-19 00:00:00' 
AND shift = 1 
GROUP BY timepacket;

答案 1 :(得分:0)

使用GROUP BY或排序

SELECT * FROM test WHERE (timepacket BETWEEN 2014-02-16 00:00:00 and 2014-02-19 00:00:00)
 AND (shift = 1) GROUP BY timepacket

答案 2 :(得分:0)

即使您的查询也不太清楚,但根据我的理解,您希望根据日期进行排序,如果是在查询下方使用 -

SELECT * FROM test WHERE (timepacket BETWEEN 2014-02-16 00:00:00 and 2014-02-19 00:00:00) AND shift = 1 order by date(timepacket);