2 messages in com.mysql.lists.mysql-esRE: Duda| From | Sent On | Attachments |
|---|---|---|
| Yosvany Hurtado Martínez | 27 Apr 2005 05:14 | |
| Xavier Vidal | 29 Apr 2005 10:38 |
| Subject: | RE: Duda![]() |
|---|---|
| From: | Xavier Vidal (xavi...@aladus.com) |
| Date: | 04/29/2005 10:38:04 AM |
| List: | com.mysql.lists.mysql-es |
Hola,
Si no te importa usar variables y la línea de comando, puedes probar algo como esto: SELECT COUNT(*) FROM track; SELECT @a := FOUND_ROWS(); SELECT COUNT(*) AS cantidad, ROUND(COUNT(*) * 100/@a, 2) AS porciento, country FROM track GROUP BY country, country;
Saludos,
-----Original Message----- From: Yosvany Hurtado Martínez [mailto:yosv...@terra.es] Sent: miércoles, 27 de abril de 2005 14:15 To: mysq...@lists.mysql.com Subject: Duda
Hola Gente, tengo una duda con una consulta en mysql. Tengo una tabla con varios campos, entre otros, "country" y me gustaría sacar en una sola consulta, una lista de los paises con la cantidad de veces que aparecen en la tabla y el promedio del total que representan sus entradas: La salida, suponiendo que tengo 100 entradas en la tabla, debería ser algo como esto:
Pais cantidad Porciento
España 80 80 Portugal 10 10 Grecia 3 3 Francia 7 7
La consulta en cuestion a una base de datos mysql 4.1 .x es:
SELECT country, cantidad, ROUND(cantidad*100/total,2) as porciento from ( SELECT country, COUNT( country ) AS cantidad FROM track GROUP BY country ) as x, (SELECT COUNT(Id) as total from track) as x1 GROUP by country
y funciona muy bien (es posible que se pueda hacer mejor, pero con esta me vale)
El caso es que el servidor en internet tiene mysql 4.0 y me da un error que asumo de debe a que no soporta estas subconsultas anidadas y agruopadas. Hay alguna forma de plantear una consulta parecida para esa version de mysql. En ultimo caso hago por programa los calculos (que por otra parte es sencillo) pero preferiría resolverlo con mysql.
Alguna solución?
Un saludo y gracias a todos. Yosvany
-- Lista de Correos de MySQL Para el historial de la lista: http://lists.mysql.com/mysql-es Para cancelar inscripción: http://lists.mysql.com/mysql-es?unsub=xavi...@aladus.com




