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
)