Php 如何查询此列,以便仅获取上周内的条目
我有一个名为“last updated”的列,其格式为:2009-10-13 09:20:30,我想选择该列中日期在查询运行后最后7天内的所有条目。我在后端使用php和mysql进行此查询 我正在构造一个大型查询,这将是其中的一部分Php 如何查询此列,以便仅获取上周内的条目,php,mysql,Php,Mysql,我有一个名为“last updated”的列,其格式为:2009-10-13 09:20:30,我想选择该列中日期在查询运行后最后7天内的所有条目。我在后端使用php和mysql进行此查询 我正在构造一个大型查询,这将是其中的一部分 如果您能帮助我,非常感谢。发件人:从tbl\u name WHERE DATE\u SUB(CURDATE(),INTERVAL 30 DAY)中选择某物发件人:从tbl\u name WHERE DATE\u SUB(CURDATE(),INTERVAL 30 D
如果您能帮助我,非常感谢。发件人:
从tbl\u name WHERE DATE\u SUB(CURDATE(),INTERVAL 30 DAY)中选择某物发件人:从tbl\u name WHERE DATE\u SUB(CURDATE(),INTERVAL 30 DAY)中选择某物有关如何执行此操作的简短示例:
SELECT *
FROM yourtable AS t1
WHERE t1.last_updated > DATE_SUB(NOW(), INTERVAL 7 DAY);
可以找到文档。关于如何执行此操作的简短示例:
SELECT *
FROM yourtable AS t1
WHERE t1.last_updated > DATE_SUB(NOW(), INTERVAL 7 DAY);
文档可以找到。这完全取决于您想要什么以及您是否关心时间部分。如果当前时间是(比如)下午5点,并且您需要7天前的所有条目(而不仅仅是7天前下午5点的条目),那么您需要使查询更复杂一些
SELECT *
FROM `yourtable` AS t1
WHERE DATE( t1.last_updated ) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY);
在您的示例中,此查询将为您提供自2009-10-06 00:00:00以来的所有条目,而不是自2009-10-06 09:20:30以来的条目,如果您将列直接与小于7天的日期()进行比较,您将得到这些条目。这取决于您想要什么以及您是否关心时间部分。如果当前时间是(比如)下午5点,并且您需要7天前的所有条目(而不仅仅是7天前下午5点的条目),那么您需要使查询更复杂一些
SELECT *
FROM `yourtable` AS t1
WHERE DATE( t1.last_updated ) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY);
在您的示例中,此查询将为您提供自2009-10-06 00:00:00以来的所有条目,而不是自2009-10-06 09:20:30以来的条目,如果您直接将您的列与小于7天的日期()进行比较,您将得到这些条目。正如我所说:它直接来自MySQL文档,我认为每个人都应该能够处理它,要将30
更改为7
:)Phpmyadmin告诉我附近的语法有错误)如果我使用这个,你能发布完整的查询吗?正如我所说:它直接来自MySQL文档,我想每个人都应该能够处理它,要将30
更改为7
:)Phpmyadmin告诉我附近的语法有错误)如果我使用此选项,您可以发布完整的查询吗?Phpmyadmin告诉我附近的语法有错误)如果我使用此选项,请检查表名和字段名是否匹配。我自己试过了,没有引起任何语法错误。是的,我已经三次检查了表名和字段名,但都不起作用。我甚至没有向您的查询添加任何内容,只是在phpmyadminOk的sql选项卡中运行它,如果我将表放在``标记中,它现在就可以工作了。谢谢。请尝试选择日期(现在(),间隔7天)
。。。这行吗?如果是,请三次检查此处涉及的表名和字段名。Phpmyadmin告诉我附近的语法有错误(如果我使用此选项,请检查表名和字段名是否匹配)。我自己试过了,没有引起任何语法错误。是的,我已经三次检查了表名和字段名,但都不起作用。我甚至没有向您的查询添加任何内容,只是在phpmyadminOk的sql选项卡中运行它,如果我将表放在``标记中,它现在就可以工作了。谢谢。请尝试选择日期(现在(),间隔7天)
。。。这行吗?如果是,请再次检查此处涉及的表名和字段名。