2016-10-21 7 views
0

送信されたさまざまなマーケティング電子メールのリスト、送信者、送信日の一覧を持つテーブルがあります。テーブルの末尾数を作成する

私は過去90日間の連絡先の数がその顧客に送られた回数を保持する列を作成しようとしています。

私はこれをSQLでコード化する方法を考えるのに困っています。どんな提案も本当に役に立ちます!

+2

質問を編集し、サンプルデータと希望する結果を提供してください。また、使用しているデータベースで質問にタグを付けます。 –

+1

これは常に変わるので、テーブル自体を持つ代わりにselectに基づいてビューを実行したいと思うかもしれません。 –

答えて

0

current_date()は、データベースに応じて交換する必要があります。

select  customer 
      ,count (*) as contacts 

from  mytable 

where  contact_date >= current_date() - 90 

group by customer 
; 
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; 
関連する問題