当前位置: 首页 > 面试题库 >

如何像先按完全匹配命令那样使用MySQL

齐冥夜
2023-03-14
问题内容

我正在使用MySQL 5.5,所以这就是为什么我不能使用FULLTEXT搜索的原因,所以请不要提出建议。

我想做的是,如果用户我有5条记录,例如:

Amitesh
Ami
Amit
Abhi
Arun

如果有人搜索Ami,则应首先返回Ami作为完全匹配项,然后返回Amit&Amitesh


问题答案:

你可以做:

select *
from table t
where col like '%Ami%'
order by (col = 'Ami') desc, length(col);


 类似资料:
  • 问题内容: (请注意,此问题不是关于CAS的,而是关于 “可能偶然失败”的 Javadoc)。 该类中这两个方法之间Javadoc的唯一区别是, weakCompareAndSet 包含以下注释: “可能会虚假失败” 。 现在,除非我的眼睛被某种咒语欺骗,否则这两种方法的确看起来完全一样: 因此,我意识到“ May”并不意味着“ Must”,但是为什么我们不都开始将其添加到我们的代码库中: 我真的

  • 问题内容: 我正在使用Elasticsearch,但有一段时间魔鬼般地要进行精确匹配。我已经尝试过match,query_string等的各种组合,但是我什么也没得到,或者得到了不好的结果。查询看起来像这样: 排序结果 我当然知道“狗”,“那只狗”和“狗”的得分相同,但是我需要弄清楚如何提高得分“狗”的精确匹配度。 我也试过 但这仍然给我 问题答案: 默认情况下,使用标准分析仪分析字段。如果您想检

  • 问题内容: 使用Sql Server 2008,您如何才能使用全文本搜索实际找到完全匹配的字符串。我对此很难过,只是在网上的任何地方都找不到令人满意的解决方案。 例如,如果我要搜索字符串“ Bojan Skrchevski”,则我希望第一个结果就是那个。 到目前为止,我已经尝试将字符串格式化为“ Bojan * NEAR Skrchevski *”并调用CONTAINSTABLE以获取结果,但是此

  • 问题内容: 我对使用ngram的单词有部分匹配。如何修改映射以始终偏爱精确匹配而不是ngram令牌?我不想修改查询。一个搜索框将搜索多种类型,每种类型都有各自的字段。 例如,假设我正在搜索职位,一个人的标题为“现场工程师”,另一个人的标题为“引擎技术员”。如果用户搜索“引擎”,我希望ES将后者返回为更相关。 我几乎逐字使用此映射:例外:我使用的ngram的最小值为3,最大值为11,而不是边缘ngr

  • 问题内容: 当我写这个查询 返回 当我写的时候 返回 看到第二个是错的。我想仅在ID ID完全匹配时获取值…如何解决此问题。谢谢你的帮助。 问题答案: 您可以将转换为字符串,以便准确进行比较。您可能会导致隐式转换 或其他方式,您可以显式执行投射 但是,如果您所有的ID都是整数,则在尝试查询数据库之前检查这些值可能更合适。(如果您要查询的ID不是数字,则始终无法匹配。)

  • 问题内容: 我有一个字符串,其中单词“ LOCAL”多次出现。我使用该函数搜索该单词,但它也返回另一个单词“ Locally”。我如何准确匹配“本地”一词? 问题答案: 对于这种事情,正则表达式非常有用: \ b基本上表示单词边界。可以是空格,标点符号等。 编辑评论: 显然,如果您不想忽略这种情况,则可以删除flags = re.IGNORECASE。