Rumah > Artikel > pangkalan data > Bagaimana untuk Memesan Keputusan MySQL mengikut Perintah Klausa IN() menggunakan Fungsi FIELD?
Menggunakan Fungsi FIELD untuk Memesan Keputusan mengikut Pesanan IN()
Dalam MySQL, klausa ORDER BY boleh digunakan untuk mengisih hasil pertanyaan dalam tertib menaik atau menurun. Apabila menggunakan kaedah IN(), sukar untuk memastikan keputusan dikembalikan dalam susunan yang sama seperti ID dalam klausa IN(). Nasib baik, terdapat penyelesaian: fungsi FIELD.
Fungsi FIELD mengambil dua parameter: nama medan dan senarai nilai. Ia mengembalikan indeks nilai pertama dalam senarai yang sepadan dengan nilai medan. Sebagai contoh, pertanyaan berikut akan mengembalikan nilai 1, 2, 3, untuk lajur "id" untuk baris yang nilainya ialah 3, 2 atau 1:
SELECT id, FIELD(id, 3, 2, 1) AS ordering FROM table_name;
Untuk memesan hasil mengikut tertib IN(), cuma hantar nilai klausa IN() sebagai parameter kedua kepada fungsi FIELD:
SELECT id, FIELD(id, 4, 7, 3, 8, 9) AS ordering FROM table_name;
Ini akan mengembalikan keputusan dalam susunan dinyatakan:
4 - Article 4 7 - Article 7 3 - Article 3 8 - Article 8 9 - Article 9
Atas ialah kandungan terperinci Bagaimana untuk Memesan Keputusan MySQL mengikut Perintah Klausa IN() menggunakan Fungsi FIELD?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!