今日が 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 時間のレコードがなかったエントリを選択したい。
つまり、ID #3 は今日の 15:11 だったので、2 を選択したくありませんforeign_id
。
find api
その条件でCakePHP 2.xをフォローしようとしました
'HOUR(TIMEDIFF(NOW(), Traffic.accessed)) > 24'
Traffic は何らかのテーブルであり、accessed は何らかの日付フィールドです。残念ながら、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