Rumah >pangkalan data >tutorial mysql >Bagaimana Memesan Keputusan SQL dengan Berbilang Nilai dalam Urutan Tersuai?
Menyesuaikan Susunan Keputusan SQL dengan Berbilang Nilai
Panduan ini menunjukkan cara untuk memesan hasil SQL berdasarkan berbilang nilai mengikut urutan tertentu. Pendekatan biasa menggunakan ORDER BY x_field 'f', 'p', 'i', 'a'
selalunya tidak mencukupi. Penyelesaiannya terletak pada memanfaatkan pernyataan CASE
dalam klausa ORDER BY
.
Berikut ialah pertanyaan yang dipertingkatkan:
<code class="language-sql">... WHERE x_field IN ('f', 'p', 'i', 'a') ORDER BY CASE x_field WHEN 'f' THEN 1 WHEN 'p' THEN 2 WHEN 'i' THEN 3 WHEN 'a' THEN 4 ELSE 5 -- Handles values outside the specified set END, id</code>
Pertanyaan yang diperhalusi ini mencapai pesanan yang diingini:
WHERE
mengehadkan keputusan kepada rekod dengan x_field
ialah 'f', 'p', 'i' atau 'a'.CASE
dalam ORDER BY
memberikan keutamaan (1-4) kepada setiap nilai x_field
yang ditentukan. Nombor keutamaan yang lebih rendah muncul dahulu.ELSE 5
memberikan keutamaan lalai untuk sebarang nilai x_field
yang tidak disenaraikan, memastikan semua rekod dipesan secara konsisten. Penambahan , id
menyediakan kunci isihan sekunder untuk rekod dengan nilai x_field
yang sama.Kaedah ini memastikan susunan yang tepat mengikut urutan yang dipratentukan sambil mengendalikan nilai yang tidak dijangka dengan anggun.
Atas ialah kandungan terperinci Bagaimana Memesan Keputusan SQL dengan Berbilang Nilai dalam Urutan Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!