sql语句从数据库中获取恰好过去5天的数据

Posted

技术标签:

【中文标题】sql语句从数据库中获取恰好过去5天的数据【英文标题】:sql statement to fetch data from the database of exactly 5 days past 【发布时间】:2017-11-05 23:33:31 【问题描述】:

我正在处理某事,我需要从数据库中查询距现在正好 5 天的记录,但它没有按预期工作。

我已经尝试了一些东西,但它只是获取从 5 天到现在的记录。我想要的只是过去(或之前)5天的记录。这是我的代码,请告诉我我做得不对。

SELECT * FROM ts_user
WHERE user_registerdate >= DATE_SUB(CURDATE(), INTERVAL 5 day) AND user_registerdate <= CURDATE()
ORDER BY user_registerdate DESC;

【问题讨论】:

user_registerdate是什么数据类型? 你试过用=代替>=吗? user_registerdate 是数据库中日期字段的名称 什么不起作用? 我猜问题是他只想要 5 天前和那天的记录,而不是从那时到现在的所有记录。我现在无法访问 mysql,所以我自己无法为您提供有效的解决方案。 【参考方案1】:

这正好是 5 天前,

SELECT *, DATE_FORMAT(user_registerdate, '%m/%d/%Y') 
FROM ts_user  
WHERE DATE(user_registerdate) = CURDATE() - INTERVAL 5 DAY;

【讨论】:

感谢 mariam,这真的很有帮助【参考方案2】:

如果数据库中的 user_resgisterdate 字段是 DateTime 试试这个

SELECT * FROM ts_user 
WHERE Datediff(day,user_registerdate,getdate()) <= 5;

希望对你有帮助

【讨论】:

谢谢,现在可以使用了。我真的很感谢大家的努力。再次感谢。你们是最棒的

以上是关于sql语句从数据库中获取恰好过去5天的数据的主要内容,如果未能解决你的问题,请参考以下文章

从过去 7 天的核心数据中提取实体

在 Bigquery - 如何从 Firebase 事件表中查询昨天的数据和过去 7 天的数据

mysql数据库中sql语句取一段时间的每一天的最后一条数据?sql语句怎么写

sql语句查询mysql怎么取前几天的数据

如何减少从过去 30 天到现在的 SQL 查询?

AWS Athena [Presto] 如何仅接收过去 7 天的数据?