如何比较不同字段的日期字段?

时间:2017-01-23 07:29:42

标签: mysql sql

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

我想在第1行和第1行中比较ref_id明智的开始日期。第二行的结束日期应该在当前日期之间。

因此输出只是那些介于当前日期之间的ref_id。

输出

ref_id
1
2

或1,2

的GROUP_CONCAT

想使用没有UNION的单一查询。

1 个答案:

答案 0 :(得分:3)

试试这个:

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

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