Una pregunta?
En el campo de duracion se almacena solo horas? o tambien dias?
Si solo se almacena horas tal vez podrias utilizar algo como esto...
Primero se convierten a milisegundos, se saca el promedio y luego se convierte a hora sumando los ms a la fecha minima...
Código:
if object_id('tempdb..#tmpTiempo') is not null Drop Table #tmpTiempo
create table #tmpTiempo (tiempo datetime)
Insert into #tmpTiempo values('19000101 02:00.00')
Insert into #tmpTiempo values('19000101 03:00.00')
Select dateadd(ms, avg(datediff(ms, '19000101 00:00.00',tiempo)),'19000101 00:00.00') avg_column
from #tmpTiempo
avg_colum
------------------------------------------------------
1900-01-01 02:30:00.000
Saludos!