我对MYSQL相对较新,有一个问题困扰了我一段时间。我尝试在各个地方搜索答案,但是还没有找到可接受的解决方案。
这是我目前运行的查询,用于找到给定搜索词的最佳匹配:
$query="SELECT * from `vocabulary` WHERE translation = 'word' OR translation LIKE '%word%'";
它返回的结果是全面的,包括所有相关的行。然而,它们没有按照任何特定的顺序排序,我希望在PHP中打印结果时,首先显示完全匹配的结果。像这样:
1 | word <-完全匹配
2 | crossword <-按字母顺序排序的部分匹配 /
3 | words
4 | wordsmith
非常感谢您提前的帮助。
-macspacejunkie
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
LIKE不是全文搜索。在全文搜索中,
MATCH(...) AGAINST(...)返回一个可以近似表示相关性的匹配分数。将首先列出精确匹配