Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengekalkan Susunan Nilai dalam Fungsi `IN()` untuk Isih dalam MySQL?

Bagaimana untuk Mengekalkan Susunan Nilai dalam Fungsi `IN()` untuk Isih dalam MySQL?

Patricia Arquette
Lepaskan: 2024-11-12 18:07:01
asal
806 orang telah melayarinya

How to Preserve the Order of Values in `IN()` Function for Sorting in MySQL?

MySQL: Memelihara Susunan Fungsi IN() dalam Isih

Apabila mendapatkan semula rekod menggunakan fungsi IN(), ia mungkin wajar disimpan susunan nilai yang dimasukkan ke dalam fungsi dalam hasil yang diisih. Secara lalai, MySQL menyusun keputusan berdasarkan mekanisme pengisihan dalaman pangkalan data.

Penyelesaian:

Untuk mengisih hasil mengikut susunan nilai dalam fungsi IN() , gunakan fungsi FIELD. Fungsi FIELD mengembalikan kedudukan rentetan pertama dalam senarai rentetan yang tinggal.

Pertimbangkan pertanyaan berikut:

SELECT id, name
FROM mytable
WHERE name IN ('B', 'A', 'D', 'E', 'C')
ORDER BY FIELD(name, 'B', 'A', 'D', 'E', 'C')
Salin selepas log masuk

Dalam pertanyaan ini, fungsi FIELD digunakan dalam ORDER BY klausa. Ia memastikan bahawa keputusan diisih dalam susunan yang sama seperti nilai dalam fungsi IN(): 'B', 'A', 'D', 'E', 'C'.

Pengoptimuman Prestasi:

Walaupun fungsi FIELD boleh digunakan untuk mencapai pengisihan yang diingini, adalah disyorkan untuk mempertimbangkan untuk mengindeks lajur yang mewakili susunan isihan yang diingini. Dengan mencipta indeks pada lajur ini, MySQL boleh mengoptimumkan proses pengisihan, menghasilkan prestasi yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Susunan Nilai dalam Fungsi `IN()` untuk Isih dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan