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

Hurtig mySQL leaderboard med spillerrangering (og omgivende spillere)

ÆNDRE TABEL
ALTER TABLE er at ændre tabellens struktur.
Du bruger den, når du har lavet en fejl, eller du har ændret mening om, hvordan du gør tingene.
Hvis du ikke ved, hvad den gør, så lad være med at brug det.

INDEKS
En INDEX er at gøre sorteringen hurtigere , altid tildel et indeks til kolonner, som du bruger regelmæssigt i en WHERE klausul eller i en ORDER BY klausul.
Du kan fint sortere og vælge uden indekser, bare langsommere.

RANKRING
Hvis du vil liste højest rangerende spillere øverst, så:

SELECT field1, field2, ... FROM players ORDER BY score DESC LIMIT 25  

Vil give dig de 25 bedste spillere med høj score, højeste score først (det sorterer i omvendt rækkefølge DESC fra høj til lav)

FANCY RANKING

SELECT @rank:= 0; -- <<-- First run this query!

SELECT @rank:= @rank + 1 as rank, s.* FROM (
  SELECT field1, field2, ... FROM players ORDER BY score DESC LIMIT 25  
) s; --<<-- than this one.

Åh og læs op om grundlæggende SQL-ting.
Google for SQL tutorial

Held og lykke.




  1. MySql Workbench-installationsprogrammet kræver Visual C++ 2015 Redistributable Package for at blive installeret, men det er allerede installeret

  2. Valg af datointerval MySQL med dato_format

  3. Sådan fungerer SQRT() i MariaDB

  4. MySQL workbench tabel data import guiden ekstremt langsom