php - 如何在字段mysql中选择最后一个日期之前的最后n个月?

标签 php mysql

我有一个关于 mysql 的问题。 我有一个像记录一样的表,记录有一个包含日期的字段registered_date。我想选择过去 n 个月但不是当前日期之前。我必须选择 Registered_date 包含的最后一个日期。

注册日期

  • 2015-05-30
  • 2015-05-29
  • 2015-05-28
  • 2015-05-27
  • ...

我们现在是七月。最后日期是 2015 年 5 月 30 日。我想选择2015-05-30之前的最后3个月。

我试着喜欢这些:

 .... where registered_date > DATE_SUB(now(), INTERVAL 6 MONTH)

registered_Date between now() - interval 30 day and now()

谢谢。

最佳答案

您需要找到最大的日期,然后选择该日期之前的三个月:

select t.*
from table t cross join
     (select max(registered_date) as maxrd from table t) m
where t.registered_date >= maxrd - interval 3 month;

关于php - 如何在字段mysql中选择最后一个日期之前的最后n个月?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31495835/

相关文章:

php - 让 SQS 工作人员了解时区

php - 如何调用db文件中的常量?

python - docker项目中mysql配置的不同主机值产生不同的错误

mysql - SHA256算法结果的长度

c# - 你能通过windows连接到Linux上的MySQL数据库吗

php - 如何最有效地将数据从网页输入到Python脚本

php - 无法使用 docker 查看 STDERR 输出

php - 将数据从html文件发送到php并存储在数据库中

php - PDO异常 “could not find driver”

php - 以 0 开头的数据库数字字段