Bagaimana untuk Memesan Keputusan MySQL mengikut Perintah Klausa IN() menggunakan Fungsi FIELD?

Susan Sarandon
Lepaskan: 2024-11-17 13:59:02
asal
574 orang telah melayarinya

How to Order MySQL Results by IN() Clause Order using the FIELD Function?

Menggunakan Fungsi FIELD untuk Memesan Keputusan mengikut Pesanan IN()

Dalam MySQL, klausa ORDER BY boleh digunakan untuk mengisih hasil pertanyaan dalam tertib menaik atau menurun. Apabila menggunakan kaedah IN(), sukar untuk memastikan keputusan dikembalikan dalam susunan yang sama seperti ID dalam klausa IN(). Nasib baik, terdapat penyelesaian: fungsi FIELD.

Fungsi FIELD mengambil dua parameter: nama medan dan senarai nilai. Ia mengembalikan indeks nilai pertama dalam senarai yang sepadan dengan nilai medan. Sebagai contoh, pertanyaan berikut akan mengembalikan nilai 1, 2, 3, untuk lajur "id" untuk baris yang nilainya ialah 3, 2 atau 1:

SELECT id, FIELD(id, 3, 2, 1) AS ordering FROM table_name;
Salin selepas log masuk

Untuk memesan hasil mengikut tertib IN(), cuma hantar nilai klausa IN() sebagai parameter kedua kepada fungsi FIELD:

SELECT id, FIELD(id, 4, 7, 3, 8, 9) AS ordering FROM table_name;
Salin selepas log masuk

Ini akan mengembalikan keputusan dalam susunan dinyatakan:

4 - Article 4
7 - Article 7
3 - Article 3
8 - Article 8
9 - Article 9
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Memesan Keputusan MySQL mengikut Perintah Klausa IN() menggunakan Fungsi FIELD?. 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