sql >> Database >  >> RDS >> Mysql

mySQL-rangschikking in highscore-query

Het idee is om te vragen "hoeveel spelers staan ​​boven @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)

Bewerkt om resultaat 1-gebaseerd te maken in plaats van 0-gebaseerd



  1. Hoe dan ook om een ​​SQL Server DDL-trigger voor SELECT-instructies te maken?

  2. Volledige foutmeldingen ophalen in isql

  3. Hoe een string te vullen met voor-/achtervolgende karakters in MySQL – LPAD(), RPAD()

  4. Wil je string splitsen in mysql met SUBSTRING_INDEX