次のクエリで avg(time(4)) を行うにはどうすればよいですか。
select top 10 avg(e.Duration) from TimeTable e
次のエラーが表示されます。
avg 演算子のオペランド データ型 time は無効です。
期間は次のような time(4) 型です。
Duration
-------------
00:00:10.0000
次のクエリで avg(time(4)) を行うにはどうすればよいですか。
select top 10 avg(e.Duration) from TimeTable e
次のエラーが表示されます。
avg 演算子のオペランド データ型 time は無効です。
期間は次のような time(4) 型です。
Duration
-------------
00:00:10.0000
を使用DateDiff( ms, '00:00:00', e.Duration )して、時間を整数のミリ秒に変換できます。それを集計に使用してから、結果を元に戻しCast( DateAdd( ms, 1234, '00:00:00' ) as Time )ます。
HABOの回答を改善する:
select top 10
Cast(DateAdd( ms,avg(DateDiff( ms, '00:00:00', e.Duration)), '00:00:00' ) as time) as 'avg duration'
from TimeTable e
timeメソッドの無効なタイプのようですavg()。有効なデータ型のリストについては、 こちらを参照してください。
また、これには値のグループが必要なようです。これtop 10により、現在のクエリでの必要性がなくなります。