在MySQL中比较过去24小时和一年前的同一时期

时间:2013-11-26 21:39:45

标签: mysql sql

我要求将过去24小时与一年前的同一时期进行比较。

如果我这样做:

event_date < now() - INTERVAL 365 DAY and event_date > now() - INTERVAL 366 DAY

它没有考虑到闰年。

2 个答案:

答案 0 :(得分:1)

一年前创建记录条件所需的where子句将是:

WHERE event_date >= DATE_SUB(DATE_SUB(NOW(), INTERVAL 1 YEAR), INTERVAL 24 HOUR) 
AND  event_date <= DATE_SUB(NOW(), INTERVAL 1 YEAR)

通过这种方式,你不必担心闰年。

要获取当前过去24小时的数据,您可以使用:

WHERE event_date >= DATE_SUB(NOW(), INTERVAL 24 HOUR) 
AND  event_date <= NOW()

答案 1 :(得分:1)

    event_date < now() - INTERVAL 1 YEAR 
AND event_date > now() - INTERVAL 1 YEAR - INTERVAL 1 DAY

或尝试

event_date BETWEEN (now() - INTERVAL 1 YEAR - INTERVAL 1 DAY)
               AND (now() - INTERVAL 1 YEAR)