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

MySQL wybierz liczbę porządkową

Używając zmiennych i warunków możesz zresetować licznik na podstawie warunku (libraryId uległ zmianie). Obowiązkowe do zamówienia według kolumny libraryId.

SELECT books.*, 
    if( @libId = libraryId, 
        @var_record := @var_record + 1, 
        if(@var_record := 1 and @libId := libraryId, @var_record, @var_record)
    ) AS Ordinal 
FROM books
JOIN (SELECT @var_record := 0, @libId := 0) tmp
ORDER BY libraryId;

Druga instrukcja if służy do grupowania dwóch przypisań razem i zwracania @var_record.

if(@var_record := 1 and @libId := libraryId, @var_record, @var_record)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz według miesiąca pola

  2. Błąd podczas próby użycia zestawu @rownum =0; w PHP

  3. Obliczanie trybu bez pola podzapytania w MySQL?

  4. Cakephp pobiera informacje z bazy danych

  5. Czy przeniesienie danych z EBS do pamięci efemerycznych poprawi wydajność zapytań MySQL?