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

Como realizar la "media" de una media ?

Estas en el tema de Como realizar la "media" de una media ? en el foro de Mysql en Foros del Web. Buenas primero expongo un ejemplo , tengo esta consulta Select sum(ventas) from consumos where provee in ('1','2','3') and weblogin = 'sociotest' group by provee Y ...
  #1 (permalink)  
Antiguo 04/06/2009, 03:23
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Como realizar la "media" de una media ?

Buenas primero expongo un ejemplo , tengo esta consulta

Select sum(ventas) from consumos where provee in ('1','2','3') and weblogin = 'sociotest' group by provee

Y con esto obtengo para cada proveedor la suma total.

sum(ventas)
23366.15
2289.06
98.69


Si lo modigo y cambio el sum(ventas) por avg(ventas) me dará la media para cada proveedor , hasta aquí correcto.
Obtendre algo como esto , aki pongo datos ficticios

100
200
300


Y ahora lo que intento hacer es hacer la media de la media (los ultimos valores obtenidos)

Es decir que me sume ( 100+200+300 / 3 )
valores anteriores / num de proveedores)


He probado algo como esto pero no funciona
Select avg(avg(ventas)) from consumos ....


gracias radge
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com
  #2 (permalink)  
Antiguo 04/06/2009, 06:36
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Como realizar la "media" de una media ?

Pruebalo así:

Código mysql:
Ver original
  1. select avg(v.prom) from (select avg(ventas) prom from tabla group by campo)v;

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 04/06/2009, 08:38
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: Como realizar la "media" de una media ?

Estoy ejecutando esto

SELECT avg(v.consumos)
FROM
(SELECT avg(campo1) from consumos c where c.provee in ('1','2','3') GROUP BY c.provee) v


Y el mysql me retorna "unknown column v.consumos in field list.

gracias radge
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com
  #4 (permalink)  
Antiguo 04/06/2009, 09:21
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Como realizar la "media" de una media ?

Lo estas haciendo mal radge.

Te explico un poco.

La letra v es un alias para la tabla virtual resultante de la consulta encerrada entre parentesis. Cuando desde afuera le das avg(v.consumos) estas haciendo referencia al campo consumos que en estos momentos deberia ser un alias y no el nomnre de la tabla.

Para tu caso intenta esto:

Código mysql:
Ver original
  1. SELECT avg(v.promedio)
  2. (SELECT avg(campo1) promedio from consumos c where c.provee in ('1','2','3') GROUP BY c.provee) v;

un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 08/06/2009, 04:21
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: Como realizar la "media" de una media ?

Cita:
Iniciado por huesos52 Ver Mensaje
Lo estas haciendo mal radge.

Te explico un poco.

La letra v es un alias para la tabla virtual resultante de la consulta encerrada entre parentesis. Cuando desde afuera le das avg(v.consumos) estas haciendo referencia al campo consumos que en estos momentos deberia ser un alias y no el nomnre de la tabla.

Para tu caso intenta esto:

Código mysql:
Ver original
  1. SELECT avg(v.promedio)
  2. (SELECT avg(campo1) promedio from consumos c where c.provee in ('1','2','3') GROUP BY c.provee) v;

un saludo.


Muchas gracias por el aporte , ahora si x)

gracias radge
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com
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 01:13.