sql >> Databasteknik >  >> RDS >> Mysql

Snabb mySQL leaderboard med spelarrankning (och omgivande spelare)

ÄNDRA TABELL
ALTER TABLE är att ändra strukturen på tabellen.
Du använder den när du har gjort ett misstag eller om du har ändrat uppfattning om hur du ska göra saker.
Om du inte vet vad den gör, gör det inte använd den.

INDEX
En INDEX är att göra sorteringen snabbare , alltid tilldela ett index till kolumner som du använder regelbundet i en WHERE sats eller i en ORDER BY klausul.
Du kan sortera och välja bra utan index, bara långsammare.

RANKNING
Om du vill lista högst rankade spelare överst då:

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

Ger dig de 25 bästa spelarna med högsta poäng, högsta poäng först (det sorteras i omvänd ordning DESC från hög till låg)

FANTASTISK RANKNING

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 och läs om grundläggande SQL-grejer.
Google för SQL tutorial

Lycka till.




  1. MySQL PÅ DUBLIKATNYCKELUPPDATERING medan du infogar en resultatuppsättning från en fråga

  2. Kan jag ansluta till SQL Server med Windows-autentisering från Java EE-webbappen?

  3. Vad är en frågeavvikare och hur man åtgärdar det

  4. Räkna förekomster av tecken i en sträng med MySQL