Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mysql chọn thứ tự

Sử dụng các biến và điều kiện, bạn có thể đặt lại bộ đếm dựa trên một điều kiện (libraryId đã thay đổi). Bắt buộc phải sắp xếp theo thư viện cột.

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;

Câu lệnh if thứ hai được sử dụng để nhóm hai bài tập lại với nhau và trả về @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. Sự cố MySQL trên SQL

  2. Cách viết lệnh Laravel bằng truy vấn?

  3. Mối quan hệ của các mô hình (Laravel 5.2)

  4. Không thể hiển thị bất kỳ đầu ra nào trong JTable bằng dữ liệu MySql

  5. Mysql:Làm thế nào để chọn các nhóm có các giá trị nhất định?