Da bietet sich ja SQL eigentlich eher an:

AVG(case wert when 0 then null else wert end)

NULL-Werte fließen in die Berechnung nicht mit ein.