Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/01/2014, 09:57
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Calcular rank del usuario (sumar y comparar campos en mysql)

A esas otras dos partes me refería con programar y perfilar. Me explico. Primero necesitas numerar el ranking. Debes hacerlo mediante variable. Yo he adaptado la consulta recomendada en las FAQ del foro. Luego mediante INNER JOIN uno el registro que quiero y traigo los datos que me interesan, incluida la posición. No lo he probado.
Código MySQL:
Ver original
  1. SELECT t2.Linea, t2.user_id, t2.server_id, t2.shooting, t2.deaths, t2.rank FROM cs16_stats INNER JOIN (SELECT
  2.     (@REG := @REG + 1) Linea,
  3.     t1.user_id,
  4.     t1.server_id,
  5.     t1.shooting,
  6.     t1.deaths,
  7.     t1.rank
  8. @REG :=0,
  9.   user_id,
  10.   server_id,
  11.   SUM(`Total_Shooting`) `shooting`,
  12.   SUM(`Total_Deaths`) `deaths`,
  13.   (SUM(`Total_Shooting`) - SUM(`Total_Deaths`)) `rank`
  14.  FROM `cs16_stats`
  15. WHERE `server_id` = '6'
  16. GROUP BY `user_id` ORDER BY `rank` DESC
  17. LIMIT 0, 15)t1)t2 ON cs16_stats.user_id=t2.user_id WHERE  cs16_stats.user_id = 22999544

Última edición por jurena; 23/01/2014 a las 10:06