Berikut ini cara mengkueri database untuk peringkat pemain udid 1
:
SELECT COUNT(*) AS rank
FROM tablename
WHERE score > (SELECT score FROM tablename WHERE udid = 1)
Saya berasumsi skor yang lebih tinggi lebih baik dan Anda hanya menyimpan skor tertinggi untuk setiap pemain.
Dengan indeks pada score
dan udid
, ini seharusnya cukup cepat.
Apa yang dilakukan kueri adalah menghitung jumlah pengguna yang memiliki skor lebih besar dari pengguna yang dipilih.
Jika skor yang lebih rendah lebih baik, cukup ubah ke ini:
SELECT COUNT(*) AS rank
FROM tablename
WHERE score < (SELECT score FROM tablename WHERE udid = 1)
Yang menghitung jumlah pemain dengan skor lebih rendah.
Baca semua tentang indeks MySQL .