Mysql
 sql >> Baza danych >  >> RDS >> Mysql

ROW_NUMBER() w MySQL

W MySQL nie ma funkcji rankingu. Najbliższe, co możesz uzyskać, to użycie zmiennej:

SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM YOUR_TABLE t, 
       (SELECT @rownum := 0) r

więc jak to działa w moim przypadku? Potrzebuję dwóch zmiennych, po jednej dla col1 i col2? Col2 musiałby jakoś zresetować, gdy zmieni się col1..?

Tak. Gdyby to było Oracle, mógłbyś użyć funkcji LEAD, aby osiągnąć szczyt przy następnej wartości. Na szczęście Quassnoi obejmuje logikę tego, czego potrzebujesz zaimplementować w 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. Funkcja MySQL ATAN() — zwraca łuk tangensa wartości (lub wartości)

  2. SQLSTATE [HY000] [1045] Odmowa dostępu dla użytkownika 'nazwa_użytkownika'@'localhost' przy użyciu CakePHP

  3. Zachowaj podziały wierszy z TextArea podczas pisania w MySQL

  4. Jak zainstalować MySQL z phpMyAdmin na Ubuntu 14.04?

  5. Konwertuj BufferedInputStream na obraz