我正在寻找一个查询,该查询从X天前在给定数组中创建的表中选择所有记录。
所以,给定[3,8,13,21,34,50];
我如何找到在3、8、13、21、34、50天前创建的MySQL所有记录?
MySQL可以确定3天前是什么时候吗,或者我需要在那个特定日期传递过去?
答案 0 :(得分:1)
我不完全理解您的问题,因为MySQL不支持数组。
如果您有 date 列,则可以执行以下操作:
where created_at in (curdate() - interval 3 day,
curdate() - interval 8 day,
. . .
)
如果您有日期/时间列,则可以将其修改为:
where date(created_at) in (curdate() - interval 3 day,
curdate() - interval 8 day,
. . .
)
A,这阻止了索引的使用。如果这是一个问题,那么可以使用一些更索引友好的方法来重新表述。