Hola gabz:
No estoy seguro de si esto es lo que necesitas, pero puedes hacer que tu consulta no considere los registros con 0 y 99 poniendo una condición NOT IN en el where. Checa este ejemplo para ver si es lo que realmente necesitas:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.09 sec)
mysql
> insert into promedios
values (1,1,10),(2,1,9),(3,0,100),(4,99,-50), -> (5,3,8);
Query OK, 5 rows affected (0.05 sec)
+------+---------+-------+
| id | estatus | valor |
+------+---------+-------+
| 1 | 1 | 10 |
| 2 | 1 | 9 |
| 3 | 0 | 100 |
| 4 | 99 | -50 |
| 5 | 3 | 8 |
+------+---------+-------+
+------------+
+------------+
| 15.4000 |
+------------+
+------------+
+------------+
| 9.0000 |
+------------+
mysql>
En el primer caso toma todos los registros, por lo tanto
Código:
promedio = ( 10 + 9 + 100 + -50 + 8) / 5 = 77 / 5 = 15.40
En el segundo caso desde el select se excluyen los registros con 0 y 99 de tal manera que
Código:
promedio = (10+9+8) / 3 = 27 / 3 = 9.00
Saludos
Leo.