我们假设有一个名为' tbl'有一个名为' name'的列。我想搜索该字段,但场景应该是这样的。
简单地说,我想订购搜索结果以满足以下要求。
例如,如果关键字是' city',则结果应如下所示。
恩伯之城是我最喜欢的电影 大城市 我的城市是伦敦 它是一个城市 我名单上的最后一个城市是波士顿 我住在城里 容量可以包含的最大数量 电是马尼的动力源 我的电费是如此之高 这个电梯的容量是十人
答案 0 :(得分:0)
这有点棘手。但你可以这样做:
order by locate(concat(' ', city), concat(' ', column)),
locate(city, column)
第一个条件匹配单词的开头 - 假设一个单词以空格开头。 locate()
返回位置,因此字符串中较早的位置,搜索值越高。
第二个条件匹配字符串中的任何位置。相同的条件成立 - 字符串中较早的是更好的匹配。