Mysql
 sql >> Database >  >> RDS >> Mysql

Classifica mySQL in Highscore-Query

L'idea è di chiedere "quanti giocatori sono al di sopra di @this_user":

select count(*) + 1 from 
(
    /* list of all users */
    SELECT SUM( p.points ) AS sum_points
    FROM user u
    LEFT JOIN points p ON p.user_id = u.id
    GROUP BY u.id        
) x
/* just count the ones with higher sum_points */
where sum_points > (select sum(points) from points where user_id = @this_user)

Modificato per rendere il risultato basato su 1 anziché basato su 0