2012-01-23 7 views
1

私は簡単である、すべてのIDは接続時間を費やすどのくらい計算する必要があり、このSUMや平均

ID, Connected, Disconnected 

のようなテーブルがあります。

SELECT ID, 
CONVERT (INT, SUM (
DATEDIFF(second, Connected, Disconnected)))/60.00 

そして、私はまた、平均接続時間を見つける必要があるが(これを上記のIDごとの接続数(IDの出現数)で割ったものです。

このようなものは動作しません。

SELECT ID, 
CONVERT (INT, SUM (
DATEDIFF(second, Connected, Disconnected)))/60.00, 
CONVERT (INT, SUM (
DATEDIFF(second, Connected, Disconnected)))/60.00/(SELECT COUNT ID) 

これを行う方法?

ありがとうございました。

答えて

1

別の解決策: があなたのテーブルに別の列を追加し、あなたがに「計算カラムの仕様」を設定し、それを呼び出すデザインモードでの差分(または何か)「(DATEDIFF(第2、[接続]、[切断] )) " これで、計算された差分値を持つ列が作成されました。そして、あなたは私がエラー集約またはサブクエリエラー:)

SELECT ID, AVG(Diff)/60 -- Diff = Your computed column 
FROM YourTable 
GROUP BY ID 

はそれが役に立てば幸いなしのグループ..次取得することができ

3
SELECT ID, AVG(CONVERT (INT, SUM (DATEDIFF(second, Connected, Disconnected)))/60.00) 
GROUP BY ID 
+0

: メッセージ130、レベル15、状態1、行51 集約関数またはサブクエリを含む式で集計関数を実行できません。 –