Bagaimana untuk Mendapatkan Baris dalam Susunan Tertentu Menggunakan Klausa WHERE IN?

DDD
Lepaskan: 2024-10-26 15:31:30
asal
137 orang telah melayarinya

How to Retrieve Rows in a Specific Order Using the WHERE IN Clause?

Dapatkan Baris dalam Susunan Tertentu Menggunakan Klausa WHERE IN

Apabila menanyakan data menggunakan klausa WHERE IN, baris biasanya dikembalikan dalam menaik susunan berdasarkan medan yang dinyatakan dalam klausa. Walau bagaimanapun, mungkin terdapat kes di mana anda perlu mendapatkan semula baris dalam susunan yang tepat ia muncul dalam klausa WHERE.

Ini boleh dicapai dengan menggunakan fungsi ORDER BY FIELD. Fungsi FIELD mengembalikan kedudukan nilai yang ditentukan dalam senarai yang dipisahkan koma. Dengan menggunakan fungsi ini, anda boleh mengisih baris mengikut susunan nilai yang disenaraikan dalam klausa WHERE IN.

Contoh:

Pertimbangkan pertanyaan berikut:

SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72);
Salin selepas log masuk

Pertanyaan ini mengembalikan baris yang dipesan mengikut ID dalam tertib menaik. Untuk mendapatkan semula baris dalam susunan yang dinyatakan dalam klausa IN, kami boleh mengubah suai pertanyaan seperti berikut:

SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72)
ORDER BY FIELD(id, 118, 17, 113, 23, 72)
Salin selepas log masuk

Fungsi ORDER BY FIELD mengambil dua parameter:

  • Medan untuk diisih
  • Senarai nilai yang dipisahkan koma mengikut tertib yang sepatutnya muncul dalam hasil

Dalam kes ini, kami mengisih baris mengikut medan id dan nilai dalam senarai yang dipisahkan koma menentukan susunan baris yang harus dikembalikan.

Dengan menggunakan fungsi ORDER BY FIELD, anda boleh memastikan bahawa baris dikembalikan dalam susunan tepat yang dinyatakan dalam klausa WHERE IN .

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris dalam Susunan Tertentu Menggunakan Klausa WHERE IN?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!