我有两个表,一个用于帐户信息,另一个用于客户信息。一个帐户可以有多个与之关联的客户。我想要做的是抓住一个月内所有活跃的客户。但是,我还想说明在前几个月活跃并购买的客户。
Account
ID IND_ID LAST_PURCHASE
1 101 2013-01-15
2 102 2013-03-20
2 103 2013-02-05
3 104 2013-07-25
4 105 2012-01-11
Customer
ID STATUS
101 A
102 A
103 A
104 E
105 A
选择只有活跃客户不是问题,因为我只能过滤该列。但是,在考虑过去两个月购买的人员时,如何选择活跃“客户”的数量。
答案 0 :(得分:2)
您可以通过查看最长购买日期并对其进行过滤来执行此操作:
select c.id
from customer c join
account a
on c.id = a.ind_id
where c.status = 'A'
group by c.id
having max(last_purchase) >= date_add(month, -2, getdate());