Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memesan Keputusan MySQL Menggunakan Kaedah IN() dan Mengekalkan Pesanan?

Bagaimana untuk Memesan Keputusan MySQL Menggunakan Kaedah IN() dan Mengekalkan Pesanan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-23 11:41:34979semak imbas

How to Order MySQL Results Using the IN() Method and Maintain Order?

Hasil Pesanan MySQL menggunakan Kaedah IN()

Apabila bekerja dengan tatasusunan PHP yang mengandungi nombor ID tersusun, anda mungkin perlu mendapatkan semula rekod yang sepadan daripada pangkalan data MySQL sambil mengekalkan susunan yang ditentukan. Ini boleh dicapai menggunakan kaedah MySQL IN(). Walau bagaimanapun, kaedah IN() lazimnya tidak mengekalkan susunan ID dalam keputusan.

Penyelesaian: Menggunakan Fungsi FIELD()

Untuk menyelesaikan isu ini , seseorang boleh menggunakan fungsi MySQL FIELD(). Walaupun secara tradisinya dikaitkan dengan manipulasi rentetan, fungsi FIELD() juga boleh digunakan dengan berkesan dengan nombor:

ORDER BY FIELD(field_name, 3,2,5,7,8,1)

Dalam contoh ini, klausa ORDER BY menggunakan fungsi FIELD() untuk menyusun semula keputusan berdasarkan tertib yang ditentukan dalam kurungan, memastikan bahawa rekod yang dikembalikan sepadan dengan jujukan ID dalam tatasusunan PHP.

Sebagai contoh, jika field_name mengandungi nombor ID dalam susunan berikut: 9, 4, 5, 8, 3, hasilnya akan diisih seperti berikut:

4 - Article 4
9 - Article 9
5 - Article 5
8 - Article 8
3 - Article 3

Dengan memasukkan fungsi FIELD() ke dalam ORDER BY klausa, pembangun boleh mendapatkan semula hasil tertib dengan berkesan menggunakan kaedah MySQL IN(), walaupun semasa bekerja dengan nilai ID angka.

Atas ialah kandungan terperinci Bagaimana untuk Memesan Keputusan MySQL Menggunakan Kaedah IN() dan Mengekalkan Pesanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn