在 MySQL 中,有没有一种方法可以按照也用于过滤结果的规则集的顺序对结果进行排序?
例如,如果我们有一个名称字段和用户输入,那么我想过滤和排序记录如下
如果我们将输入与名称字段匹配
- 完全符合
- 输入精确匹配名称的第一个关键字
- 输入精确匹配名称的第二个关键字
- 名称以第一个关键字开头
- 名称以第二个关键字开头
我想根据上述情况过滤结果,并按上面列出的顺序对它们进行排序。
输入:二三
数据:
| 一个 |
| 二 |
| 三 |
| 一二三|
| 一三二 |
| 三一二 |
| 二三一|
输出:
| 二 |
| 三 |
| 二三一|
| 三一二 |
全文搜索可能是一个可能的解决方案,但根据我过去的经验,它并不总是给出预期的相关性值来以上述方式准确排序。