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

MySQL - Bagaimana melakukan Oracle RANK() OVER(ORDER BY score DESC)

Tambahkan variabel lain:

SET @prev_value = NULL;
SET @rank_count = 0;
SET @rank_increasing = 0;
SELECT score
     , @rank_increasing := @rank__increasing + 1 AS row_num
     , CASE
       WHEN @prev_value = score 
          THEN @rank_count
       WHEN @prev_value := score 
          THEN @rank_count := @rank_increasing
       END AS rank
  FROM ...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuka blokir dengan host flush mysqladmin

  2. Format Tanggal Tertentu di mysql

  3. Cara menulis kueri SQL dengan LIMIT dinamis

  4. Apakah pernyataan gabungan tersedia di MySQL?

  5. Geo-Search (Jarak) di PHP/MySQL (Kinerja)