sql >> Databáze >  >> RDS >> Mysql

Získejte aktuální hodnocení pomocí mysql

Můžete to udělat pomocí dílčího dotazu:

select count(*) as rank
from users u
where u.ammopacks >= (select ammopacks from users u2 where u2.id = x)

Tohle nedělá úplně to samé. To udělá skutečný žebříček, kde uživatelé se stejnou hodnotou ammopacks bude mít stejnou hodnost. Originál by v tomto případě poskytl různým uživatelům různé sekvenční hodnoty.

Chcete-li získat tento efekt, můžete:

select count(*) as rank
from users u
where u.ammopacks > (select ammopacks from users u2 where u2.id = x) or
      (u.ammopacks = (select ammopacks from users u2 where u2.id = x) and
       u.id <= x
      )



  1. MYSQL Deduplikujte a odstraňte duplicitní řádek s nejmenším počtem dat

  2. Převést schéma MySQL na Github Wiki?

  3. Co způsobuje chybu PDO Nelze provádět dotazy, když jsou aktivní jiné dotazy bez vyrovnávací paměti?

  4. Ukládání IP adres do databáze MySQL pomocí PHP