2015-07-21 75 views
0

我试图构造一个查询,该查询返回数据,如果priority = emergency在过去的2周内,并且urgent在上个月。mysql中的条件日期查询

WHERE ((priority = 'emergency' and date > DATE_SUB(NOW(), INTERVAL 14 DAY)) or 
priority = 'urgent' and date > DATE_SUB(NOW(), INTERVAL 30 DAY)) 

我知道这是不对的,但我不知道该怎么做。

回答

1

它只是看起来像你的括号是在错误的地方:

WHERE (priority = 'emergency' and date > DATE_SUB(NOW(), INTERVAL 14 DAY)) 
    OR (priority = 'urgent' and date > DATE_SUB(NOW(), INTERVAL 30 DAY)) 

因为不是所有的月份是如果30天内你想严格1个月回来,你可能必须调整的时间间隔。

+0

非常好!谢谢,不知道我怎么错过了这个笑声 – thinkofacard