MySQL - Realizar max de un count()

 
Vista:

Realizar max de un count()

Publicado por MYSQLLL (3 intervenciones) el 22/08/2006 13:31:20
Alguien sabe como saber el maximo de el resultado optenido por un count ? , por ejemplo tengo una lista de personas y cada una es de un pais , como hacer para saber que pais aporta mas personas ? un saludooo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Realizar max de un count()

Publicado por The Emulator (18 intervenciones) el 22/08/2006 18:53:12
Hola

Bueno como yo lo interpreto tienes una tabla con dos campos uno se llama Pais y el otro usuario

Yo hize una pequeno ejemplo

En la tabla tblUsuarios estan estos dos campos (Pais,Nombre) y algunos registros

Pais Nombre
A Mario
B Jorge
C Luis
A Homero
B Bart
A Lisa

Con una consulta primero agrupo los usuarios de cada pais y la ordeno descandentemente

SELECT tblUsuarios.Pais, Count(tblUsuarios.Pais) AS CuentaDePais FROM tblUsuarios GROUP BY tblUsuarios.Pais ORDER BY Count(tblUsuarios.Pais) DESC;

Resultado

Pais CuentaDePais
A 3
B 2
C 1


Luego con otra consulta traigo el primer registro que me arrojo la consulta anterior en este caso me traera el 3 ya que estaban ordenados descendentemente tendre el pais que contirne mas usuarios

Pais CuentaDePais
A 3


La consulta completa que deberias tener seria asi:

SELECT TOP 1 Pais,CuentaDePais FROM (SELECT tblUsuarios.Pais, Count(tblUsuarios.Pais) AS CuentaDePais FROM tblUsuarios GROUP BY tblUsuarios.Pais ORDER BY Count(tblUsuarios.Pais) DESC);



La consulta anterior contiene los primeros pasos todo en una sola consulta.

Espero esta solucion sea la que necesites

Saludos
http://www.theemulator.tk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Realizar max de un count()

Publicado por Jose Antonio (3 intervenciones) el 22/08/2006 20:28:18
muchas gracias tio , ya lo habia solucionado antes justo como tu dices , se me ocurrio al rato de escribir al foro pero yo lo unico que ise para que me mostrara solo el primero lo mostre con un while y con un contador para que solo me mostrara el primer registro, no sabia yo lo del top1 muy interesante . un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Realizar max de un count()

Publicado por Andres Villalba (1 intervención) el 12/03/2009 22:49:01
El problema con esta solucion es que simpre te devuelve un solo valor. En caso de que necesitemos el MAX de un count donde existan varios maximos no nos va a funcionar. Por ejemplo si tenemos una tabla de equipos de futbol con sus partidos ganados como esta:

Nombre_Equipo Partidos_Ganados
Barcelona 5
Real Madrid 5
Villareal 5
Betis 2

Si aplicamos la solucion anterior nos devolveria Barcelona,5 sin tener en cuenta que existen otros equipos que tienen un igual numero de partidos ganados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar