Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con la función avg

Estas en el tema de Problema con la función avg en el foro de Mysql en Foros del Web. Hola a todos: Tengo una tabla con nombres de columnas con números: 01, 02, 03, 04, etc.... Mi problema es que cuando llamo la función ...
  #1 (permalink)  
Antiguo 17/06/2008, 22:04
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Problema con la función avg

Hola a todos:

Tengo una tabla con nombres de columnas con números:
01, 02, 03, 04, etc....

Mi problema es que cuando llamo la función avg no me saca el promedio como debería:

"SELECT maestro, AVG(01) FROM reportesdemaestros GROUP BY maestro"

Quisiera saber si hay alguna forma de solucionar esto.

Muchas gracias.
  #2 (permalink)  
Antiguo 17/06/2008, 23:45
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Problema con la función avg

Si el campo maestro es realmente numérico (compruébalo), debes hacerlo así, si es que quieres sacar la media de todos esos números:

SELECT AVG(maestro) as media FROM reportesdemaestros.

No debes agrupar, pues si agrupas buscará sacar el valor medio de los elementos por grupos: agrupará primero por números, y realmente te estará sacando la media de los 01, 02, 03, etc., sumando, por ej., todos los 02 y dividiendo por el número de 02, y siempre te daría el mismo número, 02; y así con todos los demás. Y tampoco debes tratar de mostrar un dato de un registro cuando obtienes un resultado de una media sin agrupar, pues te dará error.

Última edición por jurena; 18/06/2008 a las 01:19
  #3 (permalink)  
Antiguo 18/06/2008, 06:45
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Problema con la función avg

Muchas gracias por la pronta respuesa, aún así sigo teniendo dudas. Mi problema es en si con las columnas con nombres de número: 01, 02, 03, etc. En ellas tengo almacenados varios datos numéricos y es por eso que me interesa hacer el promedio de estos valores con estas columnas. ¿Esto quiere decir que mientras mi columna se llame 01 no podré hacer que funcione el avg en este tipo de columnas?
  #4 (permalink)  
Antiguo 18/06/2008, 07:45
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Problema con la función avg

Perdona, no te entedí. Creí que los datos eran 01, 02, 03 y no me percaté de que se trataba de los nombres de campos. Si es así, sí que puedes hacer la consulta como querías, pero poniendo el nombre del campo entre acentos graves.
SELECT maestro, AVG(`01`) FROM reportesdemaestros GROUP BY maestro

Así sí funcionará. No uses nombres numéricos exclusivamente para campos. Usa alfanuméricos y evitarás tener que poner esos acentos para nombres reservados...
  #5 (permalink)  
Antiguo 18/06/2008, 11:53
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Problema con la función avg

Muchas gracias, en verdad me ha ayudado mucho. De ahora en adelante no le pondré valores numéricos a los nombres de columna. Nuevamente muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:14.