Cara menggunakan fungsi FIELD dalam MySQL untuk mengisih medan dalam susunan yang ditentukan
Dalam pangkalan data MySQL, kami sering menggunakan klausa ORDER BY untuk mengisih hasil pertanyaan. Biasanya, kita boleh menggunakan ASC (urutan menaik) atau DESC (urutan menurun) untuk menentukan susunan isihan. Walau bagaimanapun, kadangkala kita perlu mengisih mengikut susunan tersuai Dalam kes ini, kita boleh menggunakan fungsi FIELD MySQL untuk mencapai ini.
Fungsi FIELD boleh digunakan untuk mengisih medan berdasarkan susunan di mana satu atau lebih nilai muncul. Ia menerima berbilang parameter Parameter pertama ialah nama medan yang hendak diisih, dan parameter seterusnya ialah nilai yang diisih dalam susunan yang ditentukan. Fungsi FIELD mengembalikan nilai integer yang menunjukkan kedudukan nilai dalam urutan yang ditentukan. Medan kemudian diisih berdasarkan kedudukan ini.
Berikut ialah contoh kod untuk mengisih menggunakan fungsi FIELD:
SELECT * FROM students ORDER BY FIELD(grade, 'A', 'B', 'C', 'D', 'E');
Dalam kod di atas, kami mengisih medan "gred" dalam jadual "pelajar". Kami menentukan pengisihan dalam susunan 'A', 'B', 'C', 'D', 'E'. Pertama, fungsi FIELD akan mengira nilai medan "gred" dalam susunan yang ditentukan dan memperoleh nilai integer. Medan kemudian diisih berdasarkan nilai integer ini. Set hasil akan dikeluarkan dalam susunan yang ditentukan.
Perlu diingat bahawa jika nilai medan tidak berada dalam susunan yang ditentukan, fungsi FIELD akan mengembalikan 0. Ini bermakna nilai ini akan diletakkan terakhir. Sebagai contoh, jika kami mempunyai pelajar dengan gred 'F' dalam jadual kami, kami boleh meletakkannya di tempat terakhir dalam susunan yang ditentukan seperti berikut:
SELECT * FROM students ORDER BY FIELD(grade, 'A', 'B', 'C', 'D', 'E', 'F') DESC;
Dalam kod di atas, dalam senarai parameter fungsi FIELD, kami menambah ' F', dan tentukan pengisihan menurun melalui kata kunci DESC. Dengan cara ini, semua rekod dengan nilai medan 'F' akan diletakkan di penghujung.
Selain medan tunggal, kita juga boleh menggunakan berbilang medan untuk mengisih. Sebagai contoh, jika kita juga mempunyai medan "skor", kita boleh mengisih mengikut susunan "gred" dan "skor" seperti berikut:
SELECT * FROM students ORDER BY FIELD(grade, 'A', 'B', 'C', 'D', 'E'), score DESC;
Dalam kod di atas, mula-mula kita mengisih mengikut medan "gred", Kemudian mengisih rekod dengan "gred" yang sama dalam susunan menurun mengikut medan "skor".
Ringkasnya, menggunakan fungsi FIELD dalam MySQL boleh mengisih medan dalam susunan yang ditentukan. Dengan cara ini kita boleh menyesuaikan peraturan pengisihan dengan mudah untuk memenuhi keperluan khusus. Harap artikel ini membantu anda!
Atas ialah kandungan terperinci Cara menggunakan fungsi FIELD dalam MySQL untuk mengisih medan dalam susunan yang ditentukan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!