Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ranking mysql

Estas en el tema de Ranking mysql en el foro de Mysql en Foros del Web. Esto me está generando dolores de cabeza. Intento armar un ranking con el poco conocimiento que tengo de mysql y me es imposible. Estoy en ...
  #1 (permalink)  
Antiguo 20/01/2012, 17:27
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Ranking mysql

Esto me está generando dolores de cabeza.
Intento armar un ranking con el poco conocimiento que tengo de mysql y me es imposible.

Estoy en esta situación:



Necesito armar un ranking con estos dátos. Tengo una columna llamada "Para" en la cual están repetidos varios nombres. Lo que estoy queriendo hacer es contar los nombres repetidos y armar un ranking con tres columnas:

Posicion, Nombre Repetido y Cantidad de Veces Repetido

La cuestión es que pueda llamar a cualquier fila desde php utilizando cualquiera de estos dátos para buscar:

Una posición específica
Un nombre específico

Osea, si yo coloco el nombre, aparecerá la cantidad de veces repetido y la posición.

Si yo coloco la posicion, aparecerá el nombre y la cantidad de veces repetido.

No tengo ni la menor idea de como hacer esto. Ya que siempre que codie en mysql no pasé más de un SELECT y un COUNT. Osea, básico..

Por eso, desde ya estoy agradecido cualquier ayuda que podrían dar.
  #2 (permalink)  
Antiguo 20/01/2012, 19:16
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Respuesta: Ranking mysql

Ya casi lo logro, pero no logro ordenar los resultados por el conteo, osea parecen desordenados:




Cita:

SET @rank=0;
select @rank:=@rank+1 AS rank, Para,count(*) AS cuenta from imgperfildevelados group by Para ORDER BY cuenta DESC;
  #3 (permalink)  
Antiguo 21/01/2012, 06:46
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Respuesta: Ranking mysql

Someone idea :) ??

Última edición por dezagus; 22/01/2012 a las 10:58
  #4 (permalink)  
Antiguo 22/01/2012, 12:07
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Respuesta: Ranking mysql

Ya lo solucioné:

Cita:

SET @rank=0;
Select @rank:=@rank+1 AS rank,Para,cuenta FROM (select Para,count(*) AS cuenta from imgperfildevelados group by Para ORDER BY cuenta DESC) AS imgperfildevelados;
  #5 (permalink)  
Antiguo 22/01/2012, 23:06
 
Fecha de Ingreso: mayo-2011
Ubicación: sinaloa
Mensajes: 150
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Ranking mysql

select count(employeeID) AS 'Cantidad de empleados', employeeID

from employeeTerritories

group by employeeID

order by count(employeeID) desc

Esto lo hice en SQL, eso del rank esta algo raro.

Etiquetas: php, ranking, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:21.