Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL - Как да направите Oracle RANK() OVER(ПОРЪЧАЙТЕ ПО ДЕСЦ на резултата)

Добавете друга променлива:

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. Премахване на дубликати, използвайки само MySQL заявка?

  2. MySQL тригер преди Проверка на вмъкване на стойност

  3. Използване на mysql concat() в клауза WHERE?

  4. PHP PDO:как повторното изготвяне на изявление влияе на производителността

  5. Набор от символи на django с MySQL странност