sql >> Database >  >> RDS >> Mysql

MySQL - Hoe een Oracle RANK() OVER(ORDER BY score DESC) te doen

Nog een variabele toevoegen:

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. Selecteer alleen de laatste waarde met group by op mysql

  2. hoe te controleren of HikariCP-verbindingspooling werkt of niet in Java?

  3. SQL Server Failover Cluster Installatie -2

  4. Logboekregistratie van trage query's (Slow Query-logboek) in MySQL-database inschakelen