Crea sencillas gráficas con MySql

Por el 21 de Noviembre de 2006

en: Programacion

Habitualmente utilizamos la sentencia SELECT para obtener y analizar información de la base de datos.

Pero lo utilizamos ignorando posibles mejoras que nos haría más sencillo el análisis de los datos, podríamos mejorar esta sentencia creando unas sencillas gráficas que se invocarán en las sentencias SELECT.

Aquí os dejo este sencillo ejemplo:

mysql> SELECT Nombre, Valor FROM Meses;
+———–+———+
| Name | Value |
+———–+———+
| Enero | 379.385 |
| Febrero | 906.076 |
| Marzo | 392.224 |
| Abril | 242.893 |
| Mayo | 37.7936 |
| Junio | 460.288 |
| Julio | 188.06 |
| Agosto | 559.437 |
| Septiembre| 233.005 |
| Octubre | 486.714 |
| Noviembre | 734.555 |
| Diciembre | 212.632 |
+———–+———+
12 rows in set (0.00 sec)


Para generar esas simples gráficas ya mencionadas, tendremos que ejecutar la siguiente consulta…

mysql> select Nombre, REPEAT(“#”, Valor/20.0+1) Grafica FROM Mes;
+———–+————————————————+
| Nombre | Grafica |
+———–+————————————————+
| Enero | #################### |
| Febrero | ############################################## |
| Marzo | ##################### |
| Abril | ############# |
| Mayo | ### |
| Junio | ######################## |
| Julio | ########## |
| Agosto | ############################# |
| Septiembre| ############# |
| Octubre | ######################### |
| Noviembre | ###################################### |
| Dicembre | ############ |
+———–+————————————————+
12 rows in set (0.00 sec)

Cómo habrás podido deducir dentro de la funcion REPEAT podrás definir la escala que definira el tamaño de las gráficas.

A primera vista puede parecer una tontería pero es una herramienta tan simple cómo útil a la hora de analizar información.

5 Respuestas a Crea sencillas gráficas con MySql

Avatar

Anónimo

22 de Noviembre de 2006 a las 3:38 am

Mola mazo

Avatar

Anónimo

22 de Noviembre de 2006 a las 4:18 am

Nunca me habí­a planteado este tema. Lo tendrí© en cuenta.

Avatar

Anónimo

22 de Noviembre de 2006 a las 5:30 am

Avatar

Anónimo

24 de Noviembre de 2006 a las 3:10 pm

Ja, ¿Problema matemático? que buena idea ;-)

Por cierto tambií©n muy buena la idea de las gráficas, jeje. En un principio lo leí­ como si fuera algo muy profesional o agradable a la vista, pero ahora que termino de leerlo he terminado con una sonrisa de oreja a oreja jaja.

Avatar

Mario

22 de Marzo de 2007 a las 2:32 pm

Hola, a lo que veo la cantidad de caracteres ‘#’ se genera dividiendo el valor actual entre 20 (en este ejemplo), pero que sucede si nuestros valores se encuentran en un rango demasiado grande (por ejemplo con valores que van desde el 200,000,000 hasta el 15) el dividir sobre 20 o cualquier numero estatico seria inutil no?

He intentado hacer una regla de tres [¿porcentaje? = (actual * 100) / maximo] pero me muestra un error. Tomando el ejemplo anterior la sentencia quedaria asi:
SELECT Nombre, Valor, REPEAT(“#”, ((Valor*100) / MAX(Valor))) AS ‘Relacion’FROM Tabla;

En mi caso particular utilizo la funcion count() para obtener el numero de veces que un campo es elegido en una tabla y deseo presentar el porcentaje mediante numero y grafica, la sentencia SQL es:

SELECT
Directorios AS ‘GENERO’,
COUNT(*) AS ‘TOTAL ELEGIDO’,
REPEAT(“*”, ((COUNT(*)*100) / MAX(COUNT(*))) AS ‘GRAFICA’
FROM playlist
GROUP BY Directorios ORDER BY ELEGIDO DESC

Alguien podria decirme que estoy haciendo mal? :P

Dejar un comentario

Patrocinadores

¿Interesado en patrocinar TuFunción?

Suscripción

Primera División