MySQL从TIMESTAMP中选择正好7天的行

时间:2013-02-27 10:56:17

标签: mysql date timestamp

首先,我知道我的问题与那个问题非常相似:

MySQL select rows from exactly 7 days ago

不同之处在于我的日期作为时间戳存储在数据库中。

我知道我可以使用FROM_UNIXTIME从时间戳中获取日期,事实是,我读到的另一个答案是非常消耗资源(因为时间戳字段必须在比较之前在所有记录中转换为日期)

DATE(from_unixtime(timestamp))= CURRENT_DATE()

有没有优化的方法来做到这一点?

1 个答案:

答案 0 :(得分:4)

转过来:首先计算目标日期的unix时间戳并使用它。

WHERE timestamp = UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)

MySQL应该计算一次该值并一直使用它(尽管需要测试)。如果没有,请使用变量或代码。