Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Memesan Keputusan MySQL mengikut Perintah Klausa IN() menggunakan Fungsi FIELD?

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

Susan Sarandon
Susan Sarandonasal
2024-11-17 13:59:02572semak imbas

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;

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;

Ini akan mengembalikan keputusan dalam susunan dinyatakan:

4 - Article 4
7 - Article 7
3 - Article 3
8 - Article 8
9 - Article 9

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!

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