2017-08-10 72 views
0

我期待生成一個表格,顯示每個客戶類型的推薦和約會之間的平均天數。我目前的SQL代碼如下所示:按客戶類型劃分的平均天數

select CustomerID, CustomerType, ReferralDate, AppointmentDate, 
     Datediff(d, ReferralDate, AppointmentDate) as [Ref to App (Days)] 
From Referrals 

上面的代碼會生成每個客戶從推薦到約會的天數列表。我需要的是每個CustomerType一行(我的數據庫中目前有7個客戶類型),然後是一個名爲[從引用到應用的平均天數]的字段。這會給我留下七行,每行都包含從推薦到約會的平均天數。

我知道我可以使用AVG功能,但我似乎無法讓它按我想要的方式工作。我需要使用的總和將如下所示:(每個CustomerType的總天數)/(每個CustomerType的總CustomerID)=每個客戶類型的平均天數

有沒有人有任何建議?

+1

添加一些示例表格數據和預期結果 - 作爲格式化文本。還標記你正在使用的dbms。 – jarlh

回答

1

我覺得這個查詢應該做你想要什麼:

select r.CustomerType, 
     avg(1.0 * Datediff(day, r.ReferralDate, r.AppointmentDate)) as [Ref to App (Days)] 
from Referrals r 
group by r.CustomerType; 

基本上,你只需要一個group by和刪除無關列。

+0

謝謝Gordon Linoff,這個作品完美!我不習慣在SQL中使用平均值 - 我通常會將它們用於excel。我非常感謝幫助。 – Jimmy