对搜索结果进行排序


Ordering search results

我有一个关于使用 PHP 和 MySQL 代码对搜索结果进行排序的问题。例如,我输入了"彼得有车",在我的数据库中有两个条目分别介绍了"彼得"和"汽车"。由于所有条目都按字母顺序排列,因此"car"的条目将显示在"Peter"的条目之前。是否可以根据我搜索的句子中关键字的外观重新排列搜索结果的顺序?这意味着"彼得"排在第一位,"汽车"将是下一个。感谢您的帮助。

您可以使用:

ORDER BY INSTR('Peter has a car', col)

这样,包含col值为 Peter 的行将优先于包含col值为 car 的行,因为INSTR将返回前者较小的数字。

在这里演示