Можете да направите това с подзаявка:
select count(*) as rank
from users u
where u.ammopacks >= (select ammopacks from users u2 where u2.id = x)
Това не прави точно същото нещо. Това ще направи истинско класиране, където потребителите със същата стойност на ammopacks
ще има същия ранг. В този случай оригиналът ще даде на различни потребители различни последователни стойности.
За да получите този ефект, можете да направите:
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
)