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

Bagaimana cara mendapatkan peringkat baris?

Pendekatan subquery yang Anda lihat direkomendasikan akan diskalakan secara kuadrat. http://www. xaprb.com/blog/2006/12/02/how-to-number-rows-in-mysql/ menunjukkan pendekatan yang jauh lebih efisien dengan variabel pengguna. Berikut adalah adaptasi yang belum teruji untuk masalah Anda:

@points := -1; // Should be an impossible value.
@num := 0;

SELECT id
  , points
  , @num := if(@points = points, @num, @num + 1) as point_rank
  , @points := points as dummy
FROM `users`
ORDER BY points desc, id asc;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang lebih baik - banyak meja kecil atau satu meja besar?

  2. Panggil pendorong ketika mysql telah berubah

  3. Bekerja dengan Pemicu di Database MySQL - Sebuah Tutorial

  4. ekspor daftar tabel mysql dari file mysql ke csv menggunakan php

  5. Tarik kolom dari tabel turunan dan jumlahkan dalam satu pernyataan MySQL SELECT