一千萬個為什麽

搜索

如何計算SQL間隔之間的平均時間?

我有一個SQL表,我需要計算每次交易後的平均時間:

數據如下:

Tran1 07/09/2011 09:09:07  - CUSTOMER1 
Tran2 07/09/2011 09:30:46  - CUSTOMER1 
Tran3 07/09/2011 11:27:01  - CUSTOMER2 
Tran4 07/09/2011 11:29:22  - CUSTOMER2 
Tran5 07/09/2011 13:23:48  - CUSTOMER1 
Tran6 08/09/2011 14:21:29  - CUSTOMER3 
Tran7 08/09/2011 14:25:23  - CUSTOMER3 
Tran8 10/09/2011 13:28:57  - CUSTOMER1 
Tran9 10/09/2011 13:30:21  - CUSTOMER1 
Tran10 10/09/2011 13:49:13 - CUSTOMER4

該表是交易表,有三列: -

ID = UniqueID,TimeStamp = DataTime,CustomerId = UniqueID

所以,如果我傳入一個參數DateTime ..讓我們說'10/09/2011' 我試圖實現的結果是......

日期:10/9/2011 AverageQueueTime:3mins2secs - 例如

最佳答案

使用這樣的查詢(未測試)

select t.customerID, TIMESTAMPDIFF(SECOND, MIN(t.timestamp), MAX(t.timestamp) )/(COUNT(DISTINCT(t.timestamp)) -1)  as AverageTime
from Transaction_Table T
group by T.customerID

會在幾秒鐘內給你結果。請看這個答案以獲得更好的解釋

轉載註明原文: 如何計算SQL間隔之間的平均時間?