我有一张表格,其中列出了已发送的各种营销电子邮件,发送给他们的人以及发送日期。
我正在尝试构建一个列,其中包含过去90天内有多少联系人已发送给该客户的值。
我一直在思考如何在SQL中编写代码。任何建议都会非常有用!
答案 0 :(得分:0)
current_date()可能需要根据您的数据库进行替换。
select customer
,count (*) as contacts
from mytable
where contact_date >= current_date() - 90
group by customer
;
答案 1 :(得分:0)
假设表结构如下。
MarketingEmails( CustomerID, Email, SentTo, SentDate );
SELECT CustomerId,
Email,
SentTo,
SentDate,
COUNT(1) OVER ( PARTITION BY CustomerID,Email ORDER BY SentDate ) AS
CountofContactsbyCustomerEmail
FROM MarketingEmails
WHERE DATEDIFF(dd,GETDATE(),TO_DATE( SentDate ) ) >= 90;