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

Ranking con relacion de 2 columnas

Estas en el tema de Ranking con relacion de 2 columnas en el foro de Mysql en Foros del Web. Hola, necesito hacer una consulta que me devuelva el ranking de unos usuarios de una tabla, el problema es que el ranking no es tan ...
  #1 (permalink)  
Antiguo 29/06/2011, 18:08
Avatar de alejandrodlrocha  
Fecha de Ingreso: abril-2011
Mensajes: 40
Antigüedad: 13 años
Puntos: 1
Ranking con relacion de 2 columnas

Hola, necesito hacer una consulta que me devuelva el ranking de unos usuarios de una tabla, el problema es que el ranking no es tan simple como ordenar una columna, sino que necesito sacar un porcentaje entre dos columnas y ordenar ese porcentaje para sacar el ranking. No estoy seguro de como hacerlo, alguien puede decirme como?

La tabla es masomenos así:
usuario | positivo | negativo
juan | 5 | 2
pancho | 3 | 6

En esa tabla, obviamente juan tendría el ranking #1 y pancho en ranking #2, porque juan tiene 71.4% de positivo y pancho 33.3%

¿Alguien sabe como hacerlo?
Gracias =D
  #2 (permalink)  
Antiguo 30/06/2011, 00:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Ranking con relacion de 2 columnas

Código MySQL:
Ver original
  1. SELECT usuario,(positivo/(positivo+negativo)) as ranking
  2. FROM tuTabla
  3. ORDER BY positivo/(positivo+negativo) DESC;

Facil no?

Te dejo para ti evitar el error que se producirá si hay alguien sin positivos ni negativos (Overflow).
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 30/06/2011, 07:55
Avatar de alejandrodlrocha  
Fecha de Ingreso: abril-2011
Mensajes: 40
Antigüedad: 13 años
Puntos: 1
Respuesta: Ranking con relacion de 2 columnas

Pero ahi obtengo numeros 1, 2, 3 ? D:? y para acceder al dato ranking utilizo "ranking" como una columna? (jaja que novato soy =D)

Gracias por responder, no me lo imaginaba tan sencillo, te doy karma =D
  #4 (permalink)  
Antiguo 30/06/2011, 10:39
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Ranking con relacion de 2 columnas

Hola alejandrodlrocha:

Dale un vistazo a esta liga:

http://forums.mysql.com/read.php?32,...665#msg-225665

Ahí se muestra cómo puedes simular una función ROW_NUMBER (de Oracle o SQL Server) para "rankear" tus registros. Si tienes problemas con la implementación lo comentas, para tratar de ayudarte a afinar la consulta

Saludos
Leo.

Etiquetas: columnas, ranking, relacion
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 06:40.