Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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
MySQL只查找那些24小时内没有外键的_Mysql_Sql - Fatal编程技术网

MySQL只查找那些24小时内没有外键的

MySQL只查找那些24小时内没有外键的,mysql,sql,Mysql,Sql,假设今天是2013年11月16日 假设我有一张这样的日期表 ------------------------ id | foreign_id | date ------------------------ 1 | 1 | 2013-11-01 05:42:38 2 | 2 | 2013-11-04 04:21:22 3 | 2 | 2013-11-16 15:11:55 我想选择那些没有过去24小时记录的条目 ie:id 3是今天15

假设今天是2013年11月16日

假设我有一张这样的日期表

------------------------
id | foreign_id | date
------------------------
1  | 1          | 2013-11-01 05:42:38
2  | 2          | 2013-11-04 04:21:22
3  | 2          | 2013-11-16 15:11:55
我想选择那些没有过去24小时记录的条目

ie:id 3是今天15:11,所以我不想选择2

我尝试在CakePHP2.x的FindAPI条件中使用它

'HOURTIMEDIFFNOW,Traffic.accessed>24'

其中,流量是某个表,访问的是某个日期字段。 不幸的是,它仍然选择此记录,因为它发现以前的条目的日期早于24小时

请帮忙

更新

我的实际问题是这样的

SELECT Traffic.accessed, Traffic.access_ip, Traffic.client_order_id 
FROM `mdb`.`client_orders` AS `ClientOrder`
LEFT JOIN `geclicks`.`traffics`
AS `Traffic` ON (`Traffic`.`client_order_id` = `ClientOrder`.`id`)
WHERE `ClientOrder`.`status` = 'ACTIVE' AND `ClientOrder`.`offer_clicks` = 0 
AND NOT (`ClientOrder`.`offer_id` = 0) AND ((`Traffic`.`access_ip` IS NULL) 
OR (((`Traffic`.`access_ip` <> "444") 
OR (((HOUR(TIMEDIFF(NOW(), MAX(`Traffic`.`accessed`))) > 24) 
AND (`Traffic`.`access_ip` = "444")))))) 
GROUP BY `Traffic`.`client_order_id` ORDER BY RAND() ASC
要选择所有内容,请执行以下操作:

SELECT * FROM Records  
现在,让我们过滤掉坏外键,例如1、2和3:

SELECT * FROM Records WHERE foreign_id NOT IN (1, 2, 3)  
把它停在一边。。。我们如何找到24小时内有条目的外来\u ID:

SELECT DISTINCT foreign_id FROM Records WHERE TIMEDIFF(CURRENT_TIMESTAMP(), date) <= 24

如何选择包含过去24小时记录的条目?'HOURTIMEDIFFNOW,Traffic.accessed<24'像这样我想要HOURTIMEDIFFNOW,maxaccessed>24No这样的内容。您需要其外部\u ID与以前的响应不匹配的所有记录。你可以用一个左连接来实现,它是空的。我现在没有MySQL数据库,所以如果有人可以查看TIMEDIFF部分并更正它,那就太好了。是的,谢谢,这对我帮助很大。我的意思是不在声明中。顺便说一句,如果有人在CakePHP中看到NOT in是这样的“NOT”=>array'ClientOrder.id'=>$ip\u VISTER其中$ip\u VISTER是一个查找->'list',array。。后果谢谢@BeemerGuy
SELECT * FROM Records WHERE foreign_id NOT IN (SELECT DISTINCT foreign_id FROM Records WHERE TIMEDIFF(CURRENT_TIMESTAMP(), date) <= 24)