Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengisih Keputusan mengikut Susunan Nilai dalam Klausa \'IN\' dalam MySQL?

Bagaimana untuk Mengisih Keputusan mengikut Susunan Nilai dalam Klausa \'IN\' dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-11-04 05:15:29963semak imbas

How to Sort Results by Order of Values in an

Cara Mengisih Hasil Mengikut Susunan Nilai dalam Klausa "IN" Penyata SELECT dalam MySQL

Apabila mendapatkan semula set rekod menggunakan Klausa "IN" dalam pernyataan SELECT, tertib baris yang terhasil mungkin tidak sejajar dengan tertib nilai yang dinyatakan dalam klausa, menjadikan keputusan tidak tertib. Untuk menyelesaikan masalah ini, pendekatan biasa adalah untuk menubuhkan jadual sementara dan menggunakan operasi gabungan. Walau bagaimanapun, terdapat penyelesaian yang lebih mudah dan cekap.

Menggunakan fungsi FIELD(), anda boleh menentukan susunan isihan yang diingini dalam klausa "IN" itu sendiri. Fungsi ini menilai nilai terhadap senarai argumen yang disediakan, mengembalikan kedudukan argumen pertama yang sepadan dengannya. Dengan menyusun hujah dalam urutan yang dikehendaki, anda boleh mengisih hasil dengan berkesan berdasarkan nilai dalam klausa "IN".

Sebagai contoh, mempertimbangkan pernyataan SELECT berikut:

<code class="sql">SELECT * FROM your_table
WHERE id IN (5,2,6,8,12,1);</code>

Untuk mengisih hasil dalam susunan nilai yang dinyatakan dalam klausa "IN", anda boleh mengubah suai pertanyaan seperti berikut:

<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>

Dengan menentukan nilai dalam susunan isihan yang diingini sebagai argumen kepada FIELD( ), hasilnya akan dikembalikan dalam urutan yang tepat. Ini menghapuskan keperluan untuk jadual sementara dan gabungan, menyediakan penyelesaian yang lebih mudah dan lebih cekap untuk memesan hasil berdasarkan nilai klausa "IN".

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Keputusan mengikut Susunan Nilai dalam Klausa \'IN\' dalam MySQL?. 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