2014-02-13 100 views
0

我試圖編寫一個查詢來知道兩次之間的平均時間。我想用用戶名寫這個。SQL:兩個日期之間的平均時間差(DD:MM:HH:SS)

下面是一個例子:

Start of time end of time user name 
12/20/12  1/1/13 1 
12/31/12  1/1/13 2 
12/31/12  1/1/13 3 
1/1/13   1/1/13 2 
1/1/13   1/1/13 3 
1/1/13   1/1/13 1 
1/1/13   1/1/13 2 
1/1/13   1/1/13 3 
1/1/13   1/4/13 3 
9/14/12   1/1/13 2 
1/1/13   1/1/13 2 
1/1/13   1/1/13 1 

我們有三個用戶,

Username: 1 
Username: 2 
Username: 3 

這3個用戶曾在一段時間(時間開始)開始任務,並在一段時間後結束任務(時間到)。

我想知道這些用戶消耗的平均時間?>

能不能幫我寫查詢?

+0

什麼是字段的數據類型? 並且會包含HH:MM:SS? –

+0

您能否提供樣本數據的預期結果? –

回答

1

假設您對我們的時間列有適當的日期格式,並且您的表格不需要顯式轉換。以下是查詢平均值:

select avg(avgs)/60/60/24 as Average from 
    (select avg(TIME_TO_SEC(TIMEDIFF(end_time,star_time))) as avgs 
FROM t group by user)as res; 

如果您可以提供更多信息,我們可以清除您的問題。

對於我創建的演示,請點擊:SQLFiddle