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

[SOLUCIONADO] sacar gráfico con datos entre rangos

Estas en el tema de sacar gráfico con datos entre rangos en el foro de Mysql en Foros del Web. Hola, tengo un problema con los gráficos y no se ni por donde empezar. Tengo por ejemplo una tabla con estos datos ID Dato 1 ...
  #1 (permalink)  
Antiguo 12/06/2013, 05:45
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 5 meses
Puntos: 14
sacar gráfico con datos entre rangos

Hola, tengo un problema con los gráficos y no se ni por donde empezar.
Tengo por ejemplo una tabla con estos datos
ID Dato
1 1000
2 500
3 234
4 348
5 756
6 1023
7 2349
8 4359


Bueno, algo así, pero con muchos más registros, pero la idea es esa, que pueden tener en dato un número desde 0 hasta 5000-10000 y me gustaría hacer un gráfico sobre ellos, pero no puedo poner todos los datos obviamente, porque serían cientos de registros.
Me gustaría mostrarlos por rangos, por ejemplo del 0 al 100, del 100 al 200, del 200 al 300...
Y así sacarlos en un gráfico de barras o de líneas, o de lo que sea, pero de eso ya me encargo yo, lo que quiero saber es cómo partirlos en esos rangos para quedarme con pocos registros.
Muchas gracias
  #2 (permalink)  
Antiguo 12/06/2013, 05:57
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: sacar gráfico con datos entre rangos

Pues obviamente necesitas realizar varias consultas secuencialmente usando BETWEEN:
Código SQL:
Ver original
  1. SELECT a, c, d, e, ...
  2. FROM tabla
  3. WHERE valor BETWEEN 0 AND 1000
  4. ORDER BY valor
O bien lo haces programáticamente, recuperando todo el conjunto ordenado:
Código SQL:
Ver original
  1. SELECT a, c, d, e, ...
  2. FROM tabla
  3. ORDER BY valor
El como los muestres en pantalla, no es tema a resolver en este foro. Eso lo haces en programación. Nosotros miramos el asunto desde la óptica del SQL y los datos, nada más.
de todos modos, con la información que nos estás dando, no se puede decir mucho más que esto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/06/2013, 08:00
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 5 meses
Puntos: 14
Respuesta: sacar gráfico con datos entre rangos

Muchas gracias, como bien has dicho, de la parte de sacarlo a pantalla me encargo yo, solo necesito las consultas.

No lo marco como solucionado por si tengo alguna duda más, pero lo haré en breve.
Gracias de nuevo, ahora me pongo a probar ;)
  #4 (permalink)  
Antiguo 12/06/2013, 14:15
Avatar de zarwar  
Fecha de Ingreso: mayo-2013
Ubicación: Madrid
Mensajes: 77
Antigüedad: 11 años, 6 meses
Puntos: 4
Respuesta: sacar gráfico con datos entre rangos

Otra forma si el ID no es significativo, por que entiendo que es la clave y quieres agrupar por valor:

Código:
SELECT sum( IF( dato BETWEEN 0 AND 100 , 1, 0  )  )  AS rango1, 
     sum( IF( dato BETWEEN 101 AND  200, 1, 0  )  )  AS rango2, 
     sum( IF( dato BETWEEN 201 AND  300, 1, 0  )  )  AS rango3
FROM tabla
En un barrido de toda la tabla sacaría toda la información agrupada.

Un saludo
__________________
Entra en mi blog sobre base de datos Oracle:
http://mundodb.es
  #5 (permalink)  
Antiguo 12/06/2013, 23:01
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 5 meses
Puntos: 14
Respuesta: sacar gráfico con datos entre rangos

Gracias, al final lo he hecho así:
He buscado el valor más alto, lo he dividido entre 100, para saber cuantas partes iguales de 100 voy a tener. Luego he hecho un bucle que recorra la lista las mismas veces que partes tengo y por cada una haga un select de los rangos que correspondan y los guarde en otra tabla.
Así hasta que se vuelvan a calcular los datos los tendré en una tabla.

Etiquetas: rangos, registros, tabla
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:06.