Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menjamin Pesanan dalam MySQL IN Queries?
Memelihara Pesanan dalam Pertanyaan "IN" MySQL
Dalam MySQL, susunan baris dalam hasil pertanyaan "IN" biasanya sejajar dengan kunci utama atau mana-mana indeks yang ditentukan. Walau bagaimanapun, tingkah laku ini mungkin tidak mematuhi susunan yang ditentukan dalam pertanyaan. Untuk mengekalkan susunan yang dikehendaki, pertimbangkan penyelesaian berikut:
Menggunakan FIELD() untuk Pesanan Tersuai:
Fungsi FIELD() menilai kedudukan nilai yang diberikan dalam senarai nilai yang dipisahkan koma. Dengan menggunakan fungsi ini dalam klausa ORDER BY, anda boleh menentukan susunan keputusan yang dikehendaki. Contohnya:
SELECT * FROM foo f WHERE f.id IN (2, 3, 1) ORDER BY FIELD(f.id, 2, 3, 1);
Dalam pertanyaan yang diubah suai ini, senarai argumen FIELD() mewakili susunan yang diingini: 2, 3 dan 1. Akibatnya, keputusan akan dipaparkan dalam urutan berikut:
id | name |
---|---|
2 | second |
3 | third |
1 | first |
Tidak seperti pertanyaan asal, pengubahsuaian ini menjamin susunan yang ditentukan, memberikan kefleksibelan yang lebih besar apabila mendapatkan data daripada jadual dan memastikan keputusan sepadan dengan jangkaan anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjamin Pesanan dalam MySQL IN Queries?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!