Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Rangfunktion in MySQL mit Order By-Klausel

Laut dem von Ihnen angegebenen Link sollte es so aussehen:

SELECT    a.*,
( 
            CASE a.field1 
            WHEN @curType 
            THEN @curRow := @curRow + 1 
            ELSE @curRow := 1 AND @curType := a.field1 END
          ) + 1 AS rank
FROM      table_a a,
          (SELECT @curRow := 0, @curType := '') r
ORDER BY  a.field1, a.field2 desc;

Hier sind 2 Geigen, eine für Oracle und eine für mySql, basierend auf dem Beispiel aus dem Link, den Sie gegeben haben:

  1. Orakel
  2. MySQL