![]() |
sumas y agrupaciones en mysql Hola a todos Me estoy partiendo la mente tratando de crear esta consulta: Tengo las siguientes tablas: paises (idpais, pais...), zonas (idzona, idpais, zona...) y animales (idanimal, idzona, animal...) Las zonas se enlazan a los paises por idpais (al que pertenece cada zona).. y los animales a las zonas por el idzona (al que pertenece cada animal). Quiero la lista de las zonas que determinado pais, ordenado por la cantidad de animales que estas tengan... O sea.. de un pais x quiero saber cuantos animales tiene cada zona (en orden de mayor a menor cantidad de animales). y gracias de anticipado por la ayuda que me puedan aportar. |
Hola lsddigital. A ver si te sirve esto. SELECT count(animales.idanimal) as Cuenta ,zonas.idzona FROM animales, zonas where animales.idzona=zonas.idzona And zonas.idpais=X Group by zonas.idzona Order by Cuenta Desc Saludos |
muuuchas gracias.. poco a poco me voy aclarando con las agrupaciones |
Se me olvidaba. Si lo que quieres es hacer una consulta textual (por el nombre del pais o por como empieza etc. p.e. Es -> "España" "Estado Unidos") debes sustituir zonas.idpais=X por zonas.idpais in (select idpais from paises where pais like '%Es') si siguiendo con el ejemplo. Saludos |
gracias de nuevo por tu respuesta.. aunque no creo q haga falta el like zona.idpais in (select idpais from paises where idpais=$idpais)... el idpais es el dato q tengo para hacer la consulta... por otro lado.. no me confio mucho en los like http://www.forosdelweb.com/f21/resultados-match-mysql-326755/ |
Lo decía por si querías sacar más de un pais por busqueda textual. Si lo vas a hacer por idpais con la primera forma esta bien. Saludos |
Cita:
------------------------------------------------- dos horas despúes: vale vale.. ya me funciona... olvidalo.. y muchas gracias |
| La zona horaria es GMT -6. Ahora son las 23:13. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.