Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menjamin Pesanan Keputusan dalam Pertanyaan `IN` MySQL?

Bagaimanakah Saya Boleh Menjamin Pesanan Keputusan dalam Pertanyaan `IN` MySQL?

DDD
Lepaskan: 2024-12-26 04:36:09
asal
546 orang telah melayarinya

How Can I Guarantee Result Order in MySQL's `IN` Queries?

Mengekalkan Pesanan dalam Pertanyaan "IN" MySQL

Apabila menggunakan pengendali "IN" untuk menapis keputusan dalam pertanyaan MySQL, susunan keputusan mungkin tidak semestinya sepadan dengan susunan nilai yang dinyatakan dalam klausa "IN". Ini kerana MySQL tidak menjamin susunan keputusan secara lalai.

Untuk mengekalkan susunan keputusan dalam pertanyaan "IN", anda boleh menggunakan pendekatan berikut:

Menggunakan Fungsi FIELD

Fungsi FIELD boleh digunakan untuk menentukan susunan keputusan yang dikehendaki. Ia memerlukan senarai nilai yang dipisahkan koma sebagai hujah kedua dan mengembalikan kedudukan nilai yang sepadan dalam senarai. Sebagai contoh, pertanyaan berikut akan mengembalikan hasil dalam susunan yang dinyatakan dalam klausa "IN":

SELECT * FROM foo f WHERE f.id IN (2, 3, 1) ORDER BY FIELD(f.id, 2, 3, 1);
Salin selepas log masuk

Senarai argumen kepada FIELD boleh menjadi panjang berubah-ubah, membolehkan anda menentukan seberapa banyak nilai yang diperlukan.

Nota:

Kaedah ORDER BY FIELD berfungsi untuk pertanyaan mudah di mana nilai dalam klausa "IN" diketahui terlebih dahulu. Walau bagaimanapun, jika nilai adalah dinamik atau diambil daripada sumber data lain, kaedah ini mungkin tidak sesuai.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjamin Pesanan Keputusan dalam Pertanyaan `IN` 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan