SQL - problemas al sacar promedio en sql

   
Vista:

problemas al sacar promedio en sql

Publicado por Aparicio (3 intervenciones) el 23/03/2015 14:54:42
Hola.

Tengo problemas al usar la function de AVG

Msg 8117, Level 16, State 1, Line 1
Operand data type varchar is invalid for avg operator.

Estoy utilizando el siguiente query.

SELECT AVG(columna que quiero)
FROM tabla

La columna de la cual quiero sacar el promedio es un Primary Key.

Entiendo que el error es en el tipo de datos ya que es lo que me dice el error.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problemas al sacar promedio en sql

Publicado por leonardo_josue (877 intervenciones) el 23/03/2015 17:53:46
Hola Aparicio:

1
Entiendo que el error es en el tipo de datos ya que es lo que me dice el error.

Efectivamente, el error es bastante claro y tiene que ver con el tipo de dato que estás queriendo utilizar con la función AVG. Debes de recordar que la función promedio, es una FUNCIÓN MATEMÁTICA, por lo tanto debes utilizar siempre un tipo de dato o columna TIPO NUMÉRICA, que puede ser entera o de precisión.

Por lo que veo, la columna que estás utilizando es de tipo VARCHAR (que es lo que está diciendo el error). Mucho ojo, puedes tener una columna VARCHAR que almacene sólo números, sin embargo, no es lo mismo '10' que 10... una cadena siempre será una cadena.

Lo que puedes hacer es convertir tu valor VARCHAR a un valor numérico como INTEGER o REAL. No mencionas con que DBMS estás trabajando, pero por lo general las funciones para conversión de tipos es CAST o CONVERT. El único cuidado que debes tener es que DEBES ASEGURAR que en tu columna tengas almacenados SÓLO NÚMEROS, ya que de lo contrario tendrás un error a la hora de tratar de hacer la conversión.

Haz la prueba y nos comentas.

Saludos
Leo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas al sacar promedio en sql

Publicado por Aparicio (3 intervenciones) el 23/03/2015 19:04:35
Muchas gracias, en efecto cometi el gravisimo error.

Luego use el convert y funciono.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar