我正在尝试运行查询来检索最近活动时间不在+/- 30天之间的客户。对于我的生活,我无法理解。
这是我到目前为止所拥有的:
Activity.date NOT BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY)
AND DATE_ADD(CURDATE(), INTERVAL 30 DAY'
问题是我需要确保Activity.created_on字段是最近的。我不知道该如何解决这个问题。如果重要的话,我也会根据customer_id与customers表一起加入。
感谢您的帮助
答案 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