2016-10-04 61 views
0

在mysql中我们如何检查两列之间的单个日期时间值?我尝试下面的查询,但它是我的下面的查询不适用于特定的时间段(12:00:00)系列,我的意思是from_date和to_date列有12:00:00,12:15:00,12: 30:00和12:45:00系列时间不起作用。我能为此做些什么?Mysql查询检查两列之间的单个日期时间值

SELECT t2.* , u.userName as userName FROM manageuser as u left join tbl_bookingpayment as t2 on u.userId=t2.user_id WHERE from_time <= '2016-10-05 12:00:00 pm' AND to_time >= '2016-10-05 12:00:00 pm' group by t2.id 


Advice me.  
+1

最好说*为什么*你的程序不工作。请[编辑]你的问题更具体。另外,您滥用“GROUP BY”;你可能想研究它是如何工作的,看看是否能解决你的问题。 –

+0

像Ollie琼斯说的那样,知道如何工作并不是那么好,是的,因为“GROUP BY”,你的每一列都会从它的组中获得**任意值**(不知道是什么值,你真的想列的获得,所以我不知道你应该做什么,而不是) – jussius

回答

0
  • 我们通常使用GROUP BY时,我们想做一些聚集,如最小值,最大值,总和,...每个组中的结果。
  • 我猜t2.id中的值不是唯一的。如果是这样,在查询中使用GROUP BY而不进行任何聚合意味着您只想为每个t2.id(组)获取一行。如果有一些行具有相同的t2.id值,则每个组的行是MySQL所达到的第一行。
  • 只需删除“group by t2.id”,即可看到所有数据。

我希望我的回答对你有帮助。

+0

我已经删除组由t2.id,它不工作,在这里我不得不提到我在表中存储的日期时间值.. from_time to_time 2016-10-05 12:00:00 pm 2016-10-05 04:10:00 pm 我想找到这个(2016-10-05 12:30:00 pm或2016-10-05下午12:45:00等)时间以两列的黑白为单 –

+0

哪些是from_time和to_time列的数据类型?你能分享一下餐桌结构吗? –

+0

我必须对两列使用Varchar数据类型,\t from_time \t varchar(300)\t和to_time \t varchar(300)。 –

相关问题