Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Dapatkan peringkat saat ini menggunakan mysql

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
      )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Izinkan semua koneksi jarak jauh, MySQL

  2. MySQL/InnoDB dan kueri yang sudah berjalan lama

  3. Bagaimana Anda mendapatkan UTC dari Field datetime?

  4. Masalah dengan menambahkan baris dengan JDBC dan MySQL?

  5. Cara menghapus catatan MySQL setelah waktu tertentu