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
Anónimo
22 de Noviembre de 2006 a las 3:38 am
Mola mazo
Anónimo
22 de Noviembre de 2006 a las 4:18 am
Nunca me había planteado este tema. Lo tendrí© en cuenta.
Anónimo
22 de Noviembre de 2006 a las 5:30 am
Original : http://www.squarebits.com/blog/2006/11/generate_simple.html
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.
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?