繁体   English   中英

MySQL选择“最近”日期不在两个日期之间

[英]MySQL select where the MOST RECENT date is NOT between two dates

我正在尝试运行查询以检索最近活动不在+/- 30天之间的客户。 对于我的一生,我无法弄清楚。

这是我到目前为止的内容:

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

问题是我需要确保Activity.created_on字段是最近的。 我不确定该怎么做。 如果重要的话,我还将它与基于customer_id的customers表一起加入。

谢谢您的帮助

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM