Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengekalkan Susunan Baris dalam Pertanyaan SQL dengan Klausa WHERE IN?
Dalam pernyataan Bahasa Pertanyaan Berstruktur (SQL) yang menggunakan klausa WHERE IN, baris yang dikembalikan mungkin tidak sentiasa mematuhi tertib yang dinyatakan dalam klausa.
Untuk membetulkannya, seseorang boleh menggunakan fungsi FIELD() bersama-sama dengan klausa ORDER BY. Fungsi FIELD() memberikan kedudukan kepada setiap baris berdasarkan susunan nilai yang ditentukan dalam klausa IN. Dengan menyusun baris mengikut kedudukan yang ditetapkan ini, seseorang boleh mengekalkan susunan asal daripada klausa WHERE IN.
Sebagai contoh, pertimbangkan pertanyaan SQL berikut:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
Pertanyaan ini mengembalikan baris dalam susunan menaik berdasarkan lajur ID, mengabaikan susunan yang dinyatakan dalam klausa WHERE IN. Untuk mendapatkan baris dalam susunan yang ditentukan oleh klausa IN, laksanakan pertanyaan berikut:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72);
Dalam pertanyaan ini, klausa ORDER BY menyusun baris mengikut susunan nilai (118, 17, 113, 23, 72) yang dinyatakan dalam fungsi FIELD(). Oleh itu, baris yang dikembalikan akan mematuhi urutan yang ditakrifkan dalam klausa WHERE IN.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Susunan Baris dalam Pertanyaan SQL dengan Klausa WHERE IN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!