Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mendapatkan Baris dalam Susunan Tertentu Menggunakan Klausa WHERE IN?

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

DDD
DDDasal
2024-10-26 15:31:30230semak imbas

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);

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)

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!

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