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

Функция за ранг в MySQL с клауза Order By

Според връзката, която сте дали, трябва да изглежда така:

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;

Ето 2 цигулки, една за oracle и една за mySql въз основа на примера от връзката, която сте дали:

  1. оракул
  2. Mysql



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Сравнението на датата на Oracle е нарушено поради DST

  2. Прикачени файлове в Oracle Applications R12

  3. Възможно ли е да се препратят към имена на колони чрез свързващи променливи в Oracle?

  4. SELECT FOR UPDATE предотвратява ли вмъкването на други връзки, когато редът не присъства?

  5. Съвпадение на стойностите на дублирани колони на Oracle с помощта на Soundex, Jaro Winkler и Edit Distance (UTL_MATCH)