Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Graficar avg no funciona (https://www.clubdelphi.com/foros/showthread.php?t=74272)

jofebas 08-06-2011 21:49:06

Graficar avg no funciona
 
Buenas tardes.
Miren tengo un problema con una gráficas, tengo un dbchart que está conectado a un datasourse, que a l aves tengo conectado a un query. La base de datos que uso es mysql, los componentes para conectarme a la base son los zeos, realizo una gráfica con el campo productividad de una tabla de llamada inyeccionoee.
La grafica en el dbchar sale tal y como es generada en el query, el problema es que al momento de hacer el query no salen los resultados exactos, pues al sacar el promedio y agruparlo por fecha, el query me da los datos del primer campo de cada fecha.

Ejemplo
Id--- productividad--- fecha
1---------- 38 ---------- 01-06-2011
2-----------25-----------01-06-2011
3-----------40-----------02-06-2011
4-----------38-----------02-06-2011
5-----------45-----------03-06-2011
Utilizo el siguiente query

Código Delphi [-]
  with ZQprom do
      begin
        Close;
        SQL.Clear;
        SQL.Add('select *, avg(productividad)  from inyeccionoee');
        SQL.Add('where fecha>="'+fechaA+'" and fecha<="'+fechaB+'"');
        SQL.Add('and turno="'+Cbturno.Text+'" group by fecha');
        Open;
      end;
y el resultado que me da y que grafica es el siguiente.


38 -----------40----------------------45

01-06-2011----02-06-2011----03-06-2011

No saca el promedio solo copia el valor del primer día.
Ya busque y no encuentro por donde arreglarlo agradecería mucho que me ayudaran.

jofebas 08-06-2011 22:02:05

perdon el ejemplo no se vio bien.

aqui esta.

id productividad fecha
1 42 01-06-2011
2 45 01-06-2011
3 38 02-06-2011
4 39 02-06-2011
5 40 03-06-2011
6 41 03-06-2011

y me da este resultado

42 38 40

Casimiro Notevi 08-06-2011 22:06:47

Hola, recuerda etiquetar el código, gracias.






.

jofebas 09-06-2011 00:20:04

ok eso no lo sabia, gracias

Casimiro Notevi 09-06-2011 00:40:29

¿Pero qué resultado necesitas obtener?

Nelet 09-06-2011 13:00:48

Creo que te refieres a esto. Si haces un select * te trae todos los registros y parece ser que tu quieres agruparlos por fecha.

Código Delphi [-]
  with ZQprom do
      begin
        Close;
        SQL.Clear;
        SQL.Add('select fecha, avg(productividad)  from inyeccionoee');
        SQL.Add('where fecha>="'+fechaA+'" and fecha<="'+fechaB+'"');
        SQL.Add('and turno="'+Cbturno.Text+'" group by fecha');
        Open;
      end;

jofebas 09-06-2011 19:51:06

Si, lo que quiero es que me promedie el dato productividad de todos los registros del día, y solo me pone el del primer registro del día, sin promediarlos.


Deja probar con el código de Nelet.

jofebas 13-06-2011 17:23:18

Ya lo resolví.
 
Con el quiery de mysql nunca salió en promedio, y buscando en las opciones del dbchart encontré que también calcula el promedio de los campos que le indiquemos.

Así que hice un query que me trajera todos los registros y en el dbchart programe para que calculara el promedio y así si medio el valor correcto.

Gracias por su ayuda


La franja horaria es GMT +2. Ahora son las 10:42:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi