Para obtener el promedio de un campo existe una funcion proporcionada por el sistema.... solo hay que verificar que no halla campos nulos o bien decidir que opcion nos conviene mas ya que las funciones agregadas no consideran registros con valores nulos....
Anexo ejemplo...
Código:
If object_id('tempdb..#tmpTable') is not null Drop Table #tmpTable
create table #tmpTable (valores decimal(5,2))
insert into #tmpTable values (null)
insert into #tmpTable values (983.36)
insert into #tmpTable values (354.78)
insert into #tmpTable values (485.63)
insert into #tmpTable values (156.61)
SELECT AVG(isnull(valores,0)) Promedio -- Considerando valor nulo como cero
From #tmpTable
SELECT AVG(valores) Promedio -- Sin considerar valor nulo
From #tmpTable
If object_id('tempdb..#tmpTable') is not null Drop Table #tmpTable