Anda dapat melakukannya dengan subkueri:
select count(*) as rank
from users u
where u.ammopacks >= (select ammopacks from users u2 where u2.id = x)
Ini tidak melakukan hal yang persis sama. Ini akan melakukan peringkat nyata, di mana pengguna dengan nilai ammopacks
yang sama akan memiliki peringkat yang sama. Versi asli akan memberikan nilai sekuensial yang berbeda kepada pengguna yang berbeda dalam kasus ini.
Untuk mendapatkan efek ini, Anda dapat melakukan:
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
)