Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何查询此列,以便仅获取上周内的条目_Php_Mysql - Fatal编程技术网

Php 如何查询此列,以便仅获取上周内的条目

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

我有一个名为“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 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天)
。。。这行吗?如果是,请再次检查此处涉及的表名和字段名。