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

đặt hàng bài theo vị trí mảng tùy chỉnh

Bạn có thể sử dụng một truy vấn như sau:

SELECT PostID, title, position
FROM (
   SELECT PostID, title, position,
          @grp := IF(@pos = position, @grp + 1,
                     IF(@pos := position, 1, 1)) AS grp
   FROM mytable
   CROSS JOIN (SELECT @grp := 0, @pos := '') AS vars
   ORDER BY position, title) AS t
ORDER BY grp, FIELD(position, 'Middle', 'Bottom', 'Top')   

Demo tại đây




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo bảng lập trình bằng MyBatis và MySql

  2. 15 câu hỏi phỏng vấn MySQL cơ bản dành cho quản trị viên cơ sở dữ liệu

  3. Lỗi 1062 - Mục nhập trùng lặp '127' cho khóa 'CHÍNH' - không thể tìm thấy lý do

  4. PHP:Sử dụng một biến để giữ tên bảng và sử dụng biến đó trong các truy vấn

  5. Tại sao việc thêm '*' vào truy vấn MySQL lại gây ra lỗi cú pháp?