Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL pilih ordinal

Menggunakan variabel dan kondisi Anda dapat mengatur ulang penghitung berdasarkan kondisi (libraryId telah berubah). Wajib dipesan menurut kolom 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;

Pernyataan if kedua digunakan untuk mengelompokkan dua tugas dan mengembalikan @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. CodeIgniter mengkonfigurasi IP yang berbeda untuk BACA dan TULIS data MySQL

  2. Bagaimana cara menggunakan indeks secara efisien dalam kueri mysql

  3. Bagaimana cara query baris dengan nilai terendah, dan juga untuk mengetahui nilai nilai tertinggi?

  4. PDO dan caching, bagaimana menerapkannya di kelas database?

  5. Bisakah saya secara otomatis menemukan executable MySQL dari PHP?