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

Sắp xếp theo thứ tự của các giá trị trong mệnh đề SQL IN ()

Sử dụng FIELD () chức năng:

SELECT name, description, ...
FROM ...
WHERE id IN([ids, any order])
ORDER BY FIELD(id, [ids in order])

FIELD () sẽ trả về chỉ số của tham số đầu tiên bằng với tham số đầu tiên (khác với chính tham số đầu tiên).

FIELD ('a', 'a', 'b', 'c')

sẽ trả về 1

FIELD ('a', 'c', 'b', 'a')

sẽ trả về 3

Điều này sẽ thực hiện chính xác những gì bạn muốn nếu bạn dán id vào IN () và mệnh đề FIELD () hoạt động theo thứ tự.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để trích xuất hai chữ số liên tiếp từ một trường văn bản trong MySQL?

  2. Sự khác biệt giữa bảng mã utf8mb4 và utf8 trong MySQL là gì?

  3. Kiến thức cơ bản về điều chỉnh MySQL trên máy chủ chuyên dụng

  4. Cách hàm OCT () hoạt động trong MySQL

  5. Chuyển đổi dự phòng tự động sao chép không đồng bộ trong MySQL 8.0.22