sql >> Database teknologi >  >> RDS >> Oracle

Rank-funktion i MySQL med Order By-klausul

Ifølge det link, du gav, skulle det se sådan ud:

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;

Her er 2 violiner, en til oracle og en til mySql baseret på eksemplet fra det link, du gav:

  1. oracle
  2. Mysql



  1. SQL DEFAULT Begrænsning for at indsætte kolonne med en standardværdi til SQL Server-tabel

  2. Med henvisning til sessionsvariabler (\set var='value') fra PL/PGSQL

  3. Implementering af failover i MS SQL Server 2017 Standard

  4. CTE og fødselsdagsparadokset