Rumah > pangkalan data > tutorial mysql > Bagaimana Memesan Keputusan MySQL dengan Nilai Medan Tertentu Pertama?

Bagaimana Memesan Keputusan MySQL dengan Nilai Medan Tertentu Pertama?

Patricia Arquette
Lepaskan: 2025-01-14 07:49:42
asal
893 orang telah melayarinya

How to Order MySQL Results with a Specific Field Value First?

Pengisihan keutamaan nilai medan tertentu dalam MySQL

Dalam MySQL, anda boleh memaparkan rekod dengan nilai medan tertentu secara keutamaan. Contohnya, jika jadual anda mengandungi id, nama dan lajur keutamaan, anda mungkin mahu memaparkan rekod dengan name="core" dahulu, tanpa mengira keutamaannya.

Anda boleh menggunakan fungsi FIELD MySQL untuk mencapai ini:

Isih penuh semua nilai:

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core", "board", "other");</code>
Salin selepas log masuk

Ini akan mengisih hasil dalam susunan yang dinyatakan dalam parameter FIELD(), dengan "teras" dahulu, "papan" seterusnya dan "lain" yang terakhir.

Hanya nilai "Teras" ​​diutamakan:

Jika anda hanya mahu mengutamakan "teras" dan tidak mengambil berat tentang susunan nilai lain:

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core") DESC;</code>
Salin selepas log masuk

Tempahan DESC akan memastikan bahawa baris "teras" didahulukan.

Gabungkan pengisihan tersuai dan pengisihan biasa:

Sebagai alternatif, anda boleh menggabungkan pengisihan tersuai mengikut "teras" dengan pengisihan biasa mengikut medan lain:

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core") DESC, priority;</code>
Salin selepas log masuk

Ini akan mengutamakan baris "teras" dan kemudian mengisih baris yang tinggal mengikut keutamaan.

Nota:

  • Ciri ini khusus untuk MySQL.
  • FIELD() mengembalikan indeks berasaskan satu dengan nilai yang tiada menghasilkan sifar.
  • Pemesanan DESC diperlukan melainkan anda menyatakan semua nilai medan yang mungkin.

Atas ialah kandungan terperinci Bagaimana Memesan Keputusan MySQL dengan Nilai Medan Tertentu Pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan