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

akh*_*sis 1 mysql timestamp date

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

MySQL 从 7 天前选择行

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

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

日期(from_unixtime(时间戳))= CURRENT_DATE()

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

Bar*_*chs 5

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

WHERE timestamp = UNIX_TIMESTAMP(NOW() - INTERVAL 7 DAY)
Run Code Online (Sandbox Code Playgroud)

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