これはサブクエリで実行できます:
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
)