2017-05-05 37 views
2

如何找到以小時爲單位的兩個日期相差的平均時間?兩個日期的差異平均時間(以小時爲單位)

這是我的變體,但輸出不能只按名稱分組。

SELECT NAME, DATEDIFF(HOUR, START_DATE, END_DATE) 
FROM [dbo].[DB1] 
GROUP BY NAME, START_DATE, END_DATE 

例子:

1 DAY 
START_DATE 2017-05-02 05-00-00-000 
END_DATE 2017-05-03 00-00-00-000 
RESULT: 7 HOURS 

2 DAY 
START_DATE 2017-05-02 07-00-00-000 
END_DATE 2017-05-03 12-00-00-000 
RESULT: 5 HOURS 

AND AVG RESULT = 6 
+1

樣本數據和預期的結果將有幫助 –

+1

你爲什麼不想只按名字分組?如果按開始日期和/或結束日期分組,則無法工作。注意:第一個區別應該是19,而不是7。 – trincot

回答

0

生成一個子查詢DATEDIFF,則平均是:

SELECT 
    [Name], 
    AVG([Time]) AS AverageTime 
FROM 
(
    SELECT 
     NAME, 
     DATEDIFF(hour, START_DATE, END_DATE) AS [Time] 
    FROM 
     dbo.DB1 
    GROUP BY 
     NAME, 
     START_DATE, 
     END_DATE 
) AS subquery 
0

你的意思是這樣,

SELECT NAME, AVG(DATEDIFF(HOUR, START_DATE, END_DATE)) 
FROM [dbo].[DB1] 
GROUP BY NAME 
相關問題