Bạn có thể thực hiện việc này bằng một truy vấn con:
select count(*) as rank
from users u
where u.ammopacks >= (select ammopacks from users u2 where u2.id = x)
Điều này không làm chính xác những điều tương tự. Điều này sẽ thực hiện xếp hạng thực, nơi những người dùng có cùng giá trị ammopacks
sẽ có cùng thứ hạng. Bản gốc sẽ cung cấp cho những người dùng khác nhau các giá trị tuần tự khác nhau trong trường hợp này.
Để có được hiệu ứng này, bạn có thể làm:
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
)