2017-01-23 82 views
1
id ref_id  dates 
1  1  2017-01-01 00:00:00 
2  1  2017-01-31 00:00:00 
3  2  2017-01-01 00:00:00 
4  2  2017-01-31 00:00:00 
5  3  2016-01-01 00:00:00 
6  3  2016-01-31 00:00:00 

查询会像如何比较不同字段的日期字段?

SELECT * FROM table WHERE dates GROUP By ref_id 

我想比较于第2行第1列&结束日期ref_id明智的开始日期应该是当前日期。

所以输出将只是那些在当前日期之间的ref_id。

输出

ref_id 
1 
2 

或那1,2-

GROUP_CONCAT想使用单个查询,而无需UNION。

回答

3

试试这个:

SELECT ref_id 
FROM table 
GROUP BY ref_id 
HAVING NOW() BETWEEN MIN(dates) AND MAX(dates) 

查询,以获得当前的日期/时间值使用NOW。如果此值位于由ref_id组的最小和最大日期值定义的时间间隔内,则查询返回此ref_id