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

Mysql изберете ред

С помощта на променливи и условия можете да нулирате брояча въз основа на условие (libraryId е променен). Задължително за подреждане по колоната 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;

Вторият оператор if се използва за групиране на две присвоявания заедно и връщане на @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. Не мога да се свържа с mySQL в C#

  2. Каква е разликата в производителността в реализациите на MySQL релационно разделение (IN AND вместо IN OR)?

  3. MySQL Dump изчаква заключване на метаданни на таблицата

  4. Връзка без DSN към mysql сървър в ms-access, която не помни потребителско име и парола

  5. Как да предам масив към условието where в CodeIgniter?