Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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 SQL查询以显示过去超过60的行_Php_Mysql_Sql - Fatal编程技术网

Php SQL查询以显示过去超过60的行

Php SQL查询以显示过去超过60的行,php,mysql,sql,Php,Mysql,Sql,我的数据库中有一行日期时间为 2013-11-07 13:04:57 然后我运行这个查询: SELECT * from customer_communication WHERE customer_seq = '276' and datetime < DATE_SUB(DATE(now()), INTERVAL 60 DAY) order by datetime DESC 所以它不应该返回这一行 我想显示日期时间在过去超过60天的所有行日期2013-

我的数据库中有一行日期时间为

2013-11-07 13:04:57
然后我运行这个查询:

SELECT * from customer_communication 
    WHERE customer_seq = '276' 
        and datetime < DATE_SUB(DATE(now()), INTERVAL 60 DAY) 
    order by datetime DESC
所以它不应该返回这一行

我想显示日期时间在过去超过60天的所有行

日期2013-11-07 13:04:57在过去超过60天:

SELECT DATE_SUB(DATE(NOW()), INTERVAL 60 DAY);
=> 2013-11-10
11月10日或之前的任何日期将从1月9日起显示

# Show difference in days.
SELECT DATEDIFF(DATE(NOW()),'2013-11-07');
=> 63

此外,您应该使用,问题是当前查询将选择早于一个日期时间值的行。您需要将比较符号更改为:

 datetime > DATE_SUB(DATE(now()), INTERVAL 60 DAY) 
日期2013-11-07 13:04:57过去超过60天。

您可以使用

比如说,


DATEDIFFdate1、date2<60

您使用什么sql server?太太mysql?你为什么说它不应该返回那一行?@PatrickQ不应该,因为它已经不是过去的60多天了。它的日期时间在今天的60天内date@charlie你应该再从今天开始倒数。60天前是2013-11-10对你来说好消息和坏消息@charlie。好消息是您的代码是正确的。坏消息是你似乎认为2013-11-07不到60天前,这只能意味着一件事。。。你不小心走入了未来!欢迎。问题要求仅选择过去60天或更长时间的行。SQL comparator告诉数据库在当前日期的60天内查找行。我想说更好的比较器应该是No,这个查询将在过去60天内返回值select NOW+INTERVAL 1 DAY>NOW返回1 true。由此,我们可以看出,较早的日期比较晚的日期少。如果要查找早于某个日期的日期,则必须使用