Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nhận thứ hạng hiện tại bằng cách sử dụng mysql

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
      )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thành phần thời gian dải Mysql từ datetime

  2. Làm thế nào để viết một truy vấn SQL đếm số hàng mỗi tháng và năm?

  3. MySQL Select ID xảy ra trên các hàng khác nhau với nhiều giá trị cụ thể cho một cột

  4. So sánh phạm vi ngày

  5. Cập nhật cột trong cơ sở dữ liệu nơi có giá trị tối đa php mysql