0

アクティブな顧客の数を引き出し、顧客がアクティブであった合計日数を見つけるクエリがあります...この列の平均を見つけたいです...

このようなクエリで平均を引いて 1 行に表示することは可能ですか? それとも、これはレポート側で行う必要がありますか? 私の現在のクエリは次のとおりです。

SELECT        
   dtCreated, bActive, dtLastUpdated, dtLastVisit, 
   DATEDIFF(d, dtCreated, dtLastUpdated) AS Difference
FROM 
   Customers
WHERE        
   (bActive = 'true') 
   AND (dtLastUpdated > CONVERT(DATETIME, '2012-01-01 00:00:00', 102))

ありがとう。

4

1 に答える 1

4

AVG を使用: http://msdn.microsoft.com/en-us/library/ms177677

SELECT         
   dtCreated, bActive, dtLastUpdated, dtLastVisit,  
   DATEDIFF(d, dtCreated, dtLastUpdated) AS Difference,
   AVG(DATEDIFF(d, dtCreated, dtLastUpdated)) OVER() AS AvgDifference
FROM  
   Customers 
WHERE         
   (bActive = 'true')  
   AND (dtLastUpdated > CONVERT(DATETIME, '2012-01-01 00:00:00', 102)) 

OVER() を使用するように更新しました: http://msdn.microsoft.com/en-us/library/ms189461.aspx

于 2012-07-10T18:56:49.420 に答える