Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memesan Keputusan dalam Klausa \'IN\' MySQL?

Bagaimana untuk Memesan Keputusan dalam Klausa \'IN\' MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-03 01:49:29490semak imbas

How to Order Results in a MySQL

Isih Keputusan mengikut Nilai dalam Klausa "IN" MySQL

Dalam pernyataan klausa "IN" dalam MySQL, keputusan biasanya dikembalikan dalam cara tidak teratur. Walau bagaimanapun, terdapat cara untuk menyusun keputusan berdasarkan nilai yang dinyatakan dalam klausa.

Menggunakan Fungsi FIELD()

Satu pendekatan ialah menggunakan FIELD( ) fungsi, yang mengembalikan kedudukan nilai yang ditentukan dalam senarai. Dengan menggunakan fungsi ini, anda boleh mengisih hasil secara manual dalam susunan yang dikehendaki. Sintaksnya adalah seperti berikut:

ORDER BY FIELD(column, value1, value2, ..., valueN)

Contoh

Pertimbangkan contoh berikut:

SELECT * FROM account_records
WHERE id IN (5,2,6,8,12,1)
ORDER BY FIELD(id,5,2,6,8,12,1);

Dalam pertanyaan ini, hasilnya akan dikembalikan dalam susunan yang dinyatakan dalam argumen fungsi FIELD(), yang merupakan nilai dalam "IN" klausa.

Selang-seli, Menggunakan Jadual Sementara

Seperti yang dinyatakan, anda juga boleh mempertimbangkan untuk mencipta jadual sementara untuk mencapai pengisihan yang diingini. Langkah-langkahnya akan melibatkan:

  1. Membuat jadual sementara dengan nilai daripada klausa "IN".
  2. Menyertai jadual utama dengan jadual sementara pada lajur "id".
  3. Mengisih keputusan berdasarkan nilai dalam jadual sementara.

Walaupun pendekatan ini boleh memberikan penyelesaian yang lebih serba boleh, ia kurang cekap berbanding menggunakan fungsi FIELD() untuk keperluan pengisihan yang mudah.

Atas ialah kandungan terperinci Bagaimana untuk Memesan Keputusan dalam Klausa \'IN\' MySQL?. 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