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.
Ahora veamos un caso práctico en el que podríamos sacarle partido a este tipo de consultas:
“Supongamos que queremos listar la tabla de clasificación de una Liga de Fútbol, queremos obtener el número de puntos de cada uno de los equipos y poder apreciar la diferencia de puntos de uno a otro equipo de una manera rápida y visual.
En este caso vamos a utilizar dos campo: equipo (nombre del equipo), puntos (número de puntos)“
select equipo, puntos from clasificacion order by puntos DESC

select equipo, REPEAT(“#”, puntos) Grafica from clasificacion order by puntos DESC

2 Respuestas a Muestra gráficas con MySql
Vikingo
17 de Diciembre de 2007 a las 1:45 pm
interesante, no se me habria ocurrido ni en 100 años.
Puede ser util cuando es necesario mostrar estas sencillas graficas y no queremos darnos el trabajo de usar GD o algo similar cuando estamos escribiendo en PHP o algun otro lenguaje para web
De hecho, con un poco de codigo y una buena hoja de estilos podemos hacer que en lugar de los # se vea como una linea de un color determinado (o incluso una gradiente, ahora que estan tan de moda)
saludos
Javier
6 de Diciembre de 2007 a las 6:11 pm
Curioso cuanto menos. Aunque utilidad práctica no tiene mucha