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

sumatoria de promedios

Estas en el tema de sumatoria de promedios en el foro de Mysql en Foros del Web. Hola.. Necesito crear un select que permita hacer la sumatoria de una lista de promedios. Para calcular el promedio de una tabla x sería select ...
  #1 (permalink)  
Antiguo 05/06/2011, 14:36
Avatar de bachem506  
Fecha de Ingreso: junio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Exclamación sumatoria de promedios

Hola..


Necesito crear un select que permita hacer la sumatoria de una lista de promedios.

Para calcular el promedio de una tabla x sería

select avg(t1.colx)
from table table1 as t1...


Ahora lo que necesito es sumar los promedios que me da el select anterior.
Podrían ayudarme !!
  #2 (permalink)  
Antiguo 05/06/2011, 16:55
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: sumatoria de promedios

No entiendo que quieres hacer. Esa consulta te devuelve un valor que es el promedio de todos los valores del campo colx de la tabla table1. Ahí sólo hay un valor, ¿sobre qué quieres hacer un sumatorio?
  #3 (permalink)  
Antiguo 05/06/2011, 17:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: sumatoria de promedios

Una sumatoria de promedios sólo es posible si los promedios provienen de una consulta con agrupamiento. En caso contrario el promedio devuelve un único valor que abarca la totalidad de los datos de la tabla (según el WHERE, si lo hay).
En ese caso una suma de promedios sólo se puede hacer poniendo esta primera consulta de promedios como subconsulta de la otra.
¿Cómo es el GROUP BY que usas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 05/06/2011, 18:31
Avatar de bachem506  
Fecha de Ingreso: junio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: sumatoria de promedios

Ok

La idea es que tengo una tabla llamada notas en donde debo de optener la cantidad de notas con promedios mayores o iguales que 15.


La consulta donde obtego los promedios es la siguiente:

select avg(n.nota) as promedio
from nota as n
group by n.idalumno
having promedio>= 15

Ahora bien, no se como hacer una nueva consulta para que me diga cuantos rows me genero el select anterior, pero sin hacer un loop, debe de ser a puro select

Gracias por su ayuda
  #5 (permalink)  
Antiguo 05/06/2011, 19:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: sumatoria de promedios

Cita:
Ahora bien, no se como hacer una nueva consulta para que me diga cuantos rows me genero el select anterior, pero sin hacer un loop, debe de ser a puro select
Partamos de la base que la consulta te devolvió una tabla, y si la misma la estás invocando desde una aplicación, la misma está recibiendo el conjunto resultado, por lo cual lo único que deberías hacer es verificar qué longitud de registros se recibieron (en PHP es la longitud del array devuelto en el result, en .Net el Count de Rows obtenidos).
Incluso sin eso, MySQL devuelve un valor entero como resultado de la ejecución de la consulta que representa la cantidad de registros afectados por la consulta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 05/06/2011, 20:24
Avatar de bachem506  
Fecha de Ingreso: junio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: sumatoria de promedios

Muchas Gracias amigo

Etiquetas: promedios, sumatoria
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 11:49.