MySQL选择MOST RECENT日期不在两个日期之间的位置

时间:2014-01-31 18:50:41

标签: php mysql sql cakephp select

我正在尝试运行查询来检索最近活动时间不在+/- 30天之间的客户。对于我的生活,我无法理解。

这是我到目前为止所拥有的:

Activity.date NOT BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY) 
    AND DATE_ADD(CURDATE(), INTERVAL 30 DAY'

问题是我需要确保Activity.created_on字段是最近的。我不知道该如何解决这个问题。如果重要的话,我也会根据customer_id与customers表一起加入。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我有类似的表结构,这对我有用:

select c.id, c.first_name, c.last_name,  max(a.activity_date) date from activities a join clients c on c.id = a.client_id
where a.activity_date
not between  DATE_SUB(CURDATE(), INTERVAL 30 DAY) and DATE_ADD(CURDATE(), INTERVAL 30 DAY)
group by c.id  
order by date desc, c.first_name, c,last_name