2016-04-22 68 views
1

私は、与えられた平日に実行された平均手続き数と、その時間枠全体の手続きの総数を教えてくれるクエリを作成しようとしています。私が開発したクエリはうまくいくように見えますが、値が正しく加算されていません。曜日別のSQLクエリ平均

SELECT [Day], COUNT(*) AS "Week Day Count", AVG(Totals) AS [Avg] 
FROM 
(
    SELECT 
    w = DATEDIFF(WEEK, 0, CompleteDate), 
     [Day] = DATENAME(WEEKDAY, CompleteDate), 
     Totals = COUNT(*) 
    FROM dbo.[order] 
     WHERE CompleteDate Between '2015-01-01' AND '2016-04-22' 
      AND PlacerFld2 IN ('CT','SAMR') 
      AND OrderStatusID = '2' 
    GROUP BY 
     DATEDIFF(WEEK, 0, CompleteDate), 
     DATENAME(WEEKDAY, CompleteDate), 
     DATEPART(WEEKDAY, CompleteDate) 
) AS q 
GROUP BY [Day] 
ORDER BY [Day]; 

私は平均の結果が正確であるように、しかし、私はそれがあるべき、おそらくそれは私がそれを計算していますだけの方法だと思ったほど高くはアップしません「ウィークデイはカウント」を感じます。

は、私は週の日中の値を追加すると、それはおよそ365になるまで来るカウントが、私は以下のクエリを実行するとき、私は約1750取得:

SELECT COUNT(*) AS "Total 2015-2016" 
FROM [order] 
WHERE CompleteDate Between '2015-01-01' AND '2016-04-22' 
      AND PlacerFld2 IN ('CT','SAMR') 
      AND OrderStatusID = '2' 

答えて

1

私はあなたが実際にしたいと思われます合計の合計

SUM(Totals) AS "Week Day Count" 

あなたのクエリは、各曜日のデータの日数をカウント(と思う)です。

+0

ありがとうございました。私はそれを逃して馬鹿だと感じる。すてきな一日を! –