Mengisih Keputusan mengikut Susunan Nilai dalam Klausa "IN" MySQL
Dalam MySQL, memilih rekod daripada jadual besar menggunakan "IN" klausa selalunya menghasilkan keputusan yang tidak teratur. Untuk senario di mana susunan keputusan adalah penting, penyelesaian diperlukan untuk mencapai pesanan yang diingini.
Pendekatan Tidak Cekap: Jadual Sementara
Pada mulanya, cadangan adalah untuk mencipta jadual sementara dengan nilai daripada klausa "IN" dan lakukan operasi gabungan. Walau bagaimanapun, pendekatan ini boleh menjadi tidak cekap untuk set data yang besar.
Penyelesaian Cekap: Fungsi FIELD()
Daripada menggunakan gabungan, fungsi FIELD() menyediakan fungsi yang cekap alternatif kepada keputusan tertib berdasarkan nilai dalam klausa "IN". Fungsi FIELD() mengambil dua hujah:
Dengan menggunakan fungsi FIELD() dalam klausa ORDER BY, keputusan boleh disusun berdasarkan susunan nilai dalam klausa "IN":
<code class="sql">SELECT * FROM your_table WHERE id IN (5,2,6,8,12,1) ORDER BY FIELD(id,5,2,6,8,12,1);</code>
Dokumentasi Fungsi FIELD()
Rujuk dokumentasi MySQL untuk maklumat lanjut tentang Fungsi FIELD():
Fungsi [MySQL FIELD() Rujukan](https://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_field)
Atas ialah kandungan terperinci Cara Mengisih Keputusan Pertanyaan MySQL mengikut Susunan Nilai Menggunakan Klausa IN. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!