Mysql
 sql >> Baza danych >  >> RDS >> Mysql

System najlepszych wyników z mojej gry na iPhone'a

Oto jak zapytać bazę danych o pozycję dla identyfikatora gracza 1 :

SELECT COUNT(*) AS rank
FROM tablename
WHERE score > (SELECT score FROM tablename WHERE udid = 1)

Zakładam, że wyższy wynik jest lepszy i zapisujesz tylko najwyższy wynik dla każdego gracza.

Z indeksem score i udid , powinno to być dość szybkie.

To, co robi zapytanie, to policzenie liczby użytkowników, którzy mają wyższy wynik niż wybrany użytkownik.

Jeśli niższy wynik jest lepszy, po prostu zmień go na następujący:

SELECT COUNT(*) AS rank
FROM tablename
WHERE score < (SELECT score FROM tablename WHERE udid = 1)

Który liczy liczbę graczy z niższym wynikiem.

Przeczytaj wszystko o indeksach MySQL .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obsługa wyjątków kluczy obcych w PHP

  2. MySQL Workbench:Jak utrzymać połączenie przy życiu

  3. Jak za pomocą PDO mogę się upewnić, że instrukcja UPDATE zakończyła się powodzeniem?

  4. FLOT dane z MySQL przez PHP?

  5. Problem z Javą + Mysql UTF8