Necesito realizar una media en una columna, pero sé que la mayoría de los valores en esa columna serán cero. De todas las filas posibles, solo dos probablemente tendrán valores positivos. ¿Cómo puedo decirle a mySQL que ignore los ceros y solo promedie los valores reales?Mysql AVG para ignorar cero
Respuesta
Suponiendo que es posible que desee no excluye totalmente dichas filas (tal vez tienen valores de otras columnas que desea agregar)
SELECT AVG(NULLIF(field ,0))
from table
Probablemente se podría controlar que a través de la cláusula WHERE:
select avg(field) from table where field > 0
Solo si las filas donde el campo es mayor que cero son las que me preocupan. Desafortunadamente en este caso, hay otras 3 columnas que necesito verificar dónde puede no ser ese el caso. – Oranges13
select avg(your_column)
from your_table
where your_column != 0
Eso funciona, excepto que hay otros campos que deseo extraer al mismo tiempo que un gran promedio. – Oranges13
Puede convertir ceros en NULL
, luego la función AVG()
solo funcionará con los valores no NULL
.
UPDATE table SET column = NULL WHERE column='0';
SELECT AVG(column) FROM table;
Yeesh. ¿Cambiar los datos existentes para que funcione un 'SELECT'? Creo que voy a vomitar ... –
- 1. mysql avg en condicional
- 2. MySQL Eliminar cero pendiente
- 3. SQL AVG (COUNT (*))?
- 4. Comando mySQL ¿Explicar ignorar LIMIT?
- 5. Consulta SQL con avg y grupo por
- 6. SQL AVG devolver un int
- 7. Excluir entradas con "0" al utilizar AVG
- 8. Mysql: Contar registros (incluyendo cero) por mes
- 9. pivote fórmula Calculado: SUM (Campo1)/AVG (Campo2)
- 10. Rieles Casilla de verificación en MySql almacenada como cero o cero
- 11. Aplicación mostrada como amenaza por AVG
- 12. AWK: ¿hay alguna bandera para ignorar los comentarios?
- 13. mejor manera en MySQL o rieles para conseguir AVG por día dentro de un intervalo de fechas específico
- 14. Mejor expresión de ruby para "cero o cero"
- 15. Puede el tipo INT de MySQL no ser cero NULO
- 16. Ignorar SVN ¿ignorar ... posible?
- 17. Cómo ignorar caracteres en un MYSQL SELECT LIKE% ...%
- 18. Ignorar caracteres HTML al buscar contenido HTML almacenado PHP/MySQL?
- 19. convertir el valor negativo a cero en mysql
- 20. mysql - seleccione true cuando count es mayor que cero
- 21. Cómo manejar condicionalmente la división por cero con MySQL
- 22. MySQL importar datos CSV - ignorar algunas columnas csv
- 23. Ignorar resultado vacío para xargs
- 24. Ignorar restricciones de clave externa de MySQL en PHP
- 25. svn: ignorar no ignorar xcuserdata
- 26. Pregunta MySQL para devolver el número 'cero' si no hay resultados
- 27. Replicación de registro binario MySQL: ¿se puede configurar para ignorar los errores?
- 28. 'AVG' y la funcionalidad 'SUM' en MongoDB, ¿algún consejo?
- 29. SQL Server dando desbordamiento aritmético al calcular avg
- 30. Java bloqueado por el software antivirus (específicamente AVG)
Gracias, esta será probablemente la mejor opción porque sí, ¡tengo valores en las otras columnas! – Oranges13
esto funciona muy bien, especialmente cuando tiene más de 1 función de agregado en su consulta – Avishai