Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Memesan Keputusan SQL Berdasarkan WHERE IN Clause Order?

Bagaimana untuk Memesan Keputusan SQL Berdasarkan WHERE IN Clause Order?

Susan Sarandon
Susan Sarandonasal
2024-10-26 12:09:29154semak imbas

How to Order SQL Results Based on WHERE IN Clause Order?

Mengisih Keputusan Mengikut Susunan Klausa WHERE IN

Apabila menggunakan klausa WHERE IN dalam SQL, keputusan biasanya disusun mengikut susunan semula jadi lajur pesanan (biasanya menaik). Walau bagaimanapun, dalam senario tertentu, anda mungkin lebih suka supaya baris dikembalikan dalam susunan yang sama seperti yang dinyatakan dalam klausa IN.

Penyelesaian: Memesan mengikut Medan

Untuk mengisih baris mengikut susunan yang dinyatakan dalam klausa WHERE IN, anda boleh menggunakan fungsi ORDER BY FIELD. Fungsi ini mengambil dua hujah:

  • Lajur untuk diisih mengikut
  • Senarai nilai yang mewakili susunan yang diingini

Dalam kes ini, anda boleh menggunakan pertanyaan berikut untuk mengisih hasil mengikut lajur ID, dalam susunan yang dinyatakan dalam klausa IN:

<code class="sql">SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72)
ORDER BY FIELD(id, 118, 17, 113, 23, 72);</code>

Pertanyaan ini akan mengembalikan baris dalam susunan berikut: 118, 17, 113, 23, 72 .

Atas ialah kandungan terperinci Bagaimana untuk Memesan Keputusan SQL Berdasarkan WHERE IN Clause Order?. 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