Rumah  >  Artikel  >  pangkalan data  >  Cara Mengisih Keputusan Pertanyaan MySQL mengikut Susunan Nilai Menggunakan Klausa IN

Cara Mengisih Keputusan Pertanyaan MySQL mengikut Susunan Nilai Menggunakan Klausa IN

Susan Sarandon
Susan Sarandonasal
2024-11-03 20:38:29146semak imbas

How to Sort MySQL Query Results by Value Order Using IN Clause

Mengisih Keputusan mengikut Susunan Nilai dalam Klausa "IN" MySQL

Dalam MySQL, memilih rekod daripada jadual besar menggunakan "IN" klausa selalunya menghasilkan keputusan yang tidak teratur. Untuk senario di mana susunan keputusan adalah penting, penyelesaian diperlukan untuk mencapai pesanan yang diingini.

Pendekatan Tidak Cekap: Jadual Sementara

Pada mulanya, cadangan adalah untuk mencipta jadual sementara dengan nilai daripada klausa "IN" dan lakukan operasi gabungan. Walau bagaimanapun, pendekatan ini boleh menjadi tidak cekap untuk set data yang besar.

Penyelesaian Cekap: Fungsi FIELD()

Daripada menggunakan gabungan, fungsi FIELD() menyediakan fungsi yang cekap alternatif kepada keputusan tertib berdasarkan nilai dalam klausa "IN". Fungsi FIELD() mengambil dua hujah:

  1. Lajur atau ungkapan untuk diisih (biasanya, lajur daripada jadual dipilih)
  2. Senarai nilai untuk dipadankan (lajur nilai daripada klausa "IN")

Dengan menggunakan fungsi FIELD() dalam klausa ORDER BY, keputusan boleh disusun berdasarkan susunan nilai dalam klausa "IN":

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

Dokumentasi Fungsi FIELD()

Rujuk dokumentasi MySQL untuk maklumat lanjut tentang Fungsi FIELD():

Fungsi [MySQL FIELD() Rujukan](https://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_field)

Atas ialah kandungan terperinci Cara Mengisih Keputusan Pertanyaan MySQL mengikut Susunan Nilai Menggunakan Klausa IN. 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