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

Mengurutkan berdasarkan urutan nilai dalam klausa SQL IN()

Gunakan FIELD() fungsi:

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

FIELD() akan mengembalikan indeks parameter pertama yang sama dengan parameter pertama (selain parameter pertama itu sendiri).

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

akan mengembalikan 1

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

akan mengembalikan 3

Ini akan melakukan apa yang Anda inginkan jika Anda menempelkan id ke IN() klausa dan FIELD() berfungsi dalam urutan yang sama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara MEMILIH Catatan Tanpa Nilai NULL di MySQL

  2. Apakah ada cara untuk menampilkan klausa WHERE hanya untuk satu bidang di MySQL?

  3. 5 Alat Pemantauan MySQL Teratas

  4. Cara Melindungi Database MySQL dari Kampanye Ransomware

  5. Sistem pengaturan ulang kata sandi di PHP