Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Pesanan 'Padanan Terbaik' dalam Carian Langsung MySQL?
Pesanan MySQL mengikut "Padanan Terbaik"
Apabila melakukan carian langsung dalam MySQL, susunan lalai hasil berdasarkan susunan abjad mungkin tidak menyediakan hasil yang paling relevan. Untuk mengutamakan hasil yang rentetan carian kelihatan lebih dekat dengan permulaan perkataan, pertimbangkan untuk melaksanakan susunan "padanan terbaik".
Pemesanan mengikut Kedudukan Mula
Untuk meletakkan hasil carian apabila rentetan carian muncul pada permulaan perkataan dahulu, anda boleh menggunakan susunan berbilang peringkat pendekatan.
SELECT word FROM words WHERE word LIKE '%searchstring%' ORDER BY CASE WHEN word LIKE 'searchstring%' THEN 1 WHEN word LIKE '%searchstring' THEN 3 ELSE 2 END
Dalam pertanyaan ini:
Pemesanan dengan Kedudukan dalam Word
Sebagai alternatif, untuk mengisih hasil berdasarkan kedudukan rentetan carian dalam perkataan, fungsi LOCATE() boleh digunakan.
SELECT word FROM words WHERE word LIKE '%searchstring%' ORDER BY LOCATE('searchstring', word)
Dengan ini pendekatan:
Mengendalikan Pemecah Tie
Dalam kes di mana berbilang perkataan berkongsi kedudukan rentetan carian yang sama, anda mungkin ingin memperkenalkan pengisihan sekunder kriteria.
SELECT word FROM words WHERE word LIKE '%searchstring%' ORDER BY <whatever>, word
Dengan menambahkan kriteria susunan lain (cth., pengisihan abjad), anda boleh memutuskan sebarang ikatan dan memastikan susunan yang konsisten.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pesanan 'Padanan Terbaik' dalam Carian Langsung MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!