sql >> Database >  >> RDS >> Mysql

Krijg huidige rang met behulp van mysql

U kunt dit doen met een subquery:

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

Dit doet niet precies hetzelfde. Dit zorgt voor een echte ranking, waarbij gebruikers met dezelfde waarde van ammopacks zal dezelfde rang hebben. Het origineel zou in dit geval verschillende gebruikers verschillende opeenvolgende waarden geven.

Om dit effect te krijgen, kunt u het volgende doen:

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. Hoe de n'th hoogste waarde van een kolom te vinden?

  2. Open source-gegevens worden volwassen:kiezen voor MySQL, NoSQL of beide

  3. Een string invoegen die een &bevat

  4. Leer documenten op het Windows-bestandssysteem op te slaan en te analyseren met SQL Server Semantic Search - Deel 1