2017-05-05 28 views
2

時間の2つの日付の平均時間はどのようにして見つけることができますか?時間の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

名前だけでグループ化したいのはなぜですか?開始日や終了日でグループ化すると機能しません。注:最初の違いは7ではなく19でなければなりません。 – 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