2015-05-14 239 views
-1

我正在嘗試使用SQL獲取兩個日期之間的平均總天數。SQL日期時間平均

我的表如下

intSalesPerson dtmDateSetup   dtmWelcomeLetterSent 
1    2015-02-18 22:47:13.890 2015-03-19 19:53:04.153 
1    2015-03-06 13:04:20.730 2015-03-19 19:55:29.800 
1    2015-03-16 18:16:43.290 2015-03-19 19:55:25.690 

我的SQL查詢是這樣呢?

select avg([dtmDateSetup] - [dtmWelcomeLetterSent]) as avg_days 
from [tblCustomer] where [intSalesPersonID] = 1 AND [dtmWelcomeLetterSent] IS NOT NULL 

結果應該是

Avg_days 
15 

感謝。

+2

我問你想要什麼業務邏輯應用得到日期平均,因爲現在你的樣本數據和輸出3似乎沒有任何邏輯,修改你的問題,以便我們可以明白你到底想要什麼? – HaveNoDisplayName

回答

3

首先計算出每個日子日之間(我假設的SQL Server):

select [dtmDateSetup], [dtmWelcomeLetterSent], 
    DATEDIFF(day,dtmDateSetup,dtmWelcomeLetterSent) 
from [tblCustomer] 
where [intSalesPersonID] = 1 AND [dtmWelcomeLetterSent] IS NOT NULL 

則平均是簡單:

select AVG(DATEDIFF(day,dtmDateSetup,dtmWelcomeLetterSent)) 
from [tblCustomer] 
where [intSalesPersonID] = 1 AND [dtmWelcomeLetterSent] IS NOT NULL 
+0

謝謝@ d-stanley正是我在找什麼,..... – raymantle