如何在MySQL中查询特定数据范围的数据

如何在MySQL中查询特定数据范围的数据,mysql,Mysql,我们使用的是MySQL,表中有一个名为“createdat”的列,它表示插入记录的时间 现在,我们希望在创建数据后的10天内获取数据 大概是这样的: select xx from table where time_of_now - createdat<= 10 从表中选择xx,其中time\u of_now-createdat您可以使用DATEDIFF以天为单位获取两个日期之间的差异,如下所示: select xx from table where datediff(now(),cr

我们使用的是MySQL,表中有一个名为“createdat”的列,它表示插入记录的时间

现在,我们希望在创建数据后的10天内获取数据

大概是这样的:

select xx from table where time_of_now - createdat<= 10

从表中选择xx,其中time\u of_now-createdat您可以使用
DATEDIFF
以天为单位获取两个日期之间的差异,如下所示:

select xx 
from table 
where datediff(now(),createdat) <= 10
选择xx
从桌子上

其中,使用datediff的datediff(now(),createdat)在这里不是一个好主意,因为它会使
createdat
上的索引不可用。首先计算所有日期的差异,然后将其与10(线性扫描)进行比较
select xx from table where createdat >= CURDATE() - INTERVAL 10 day