【问题标题】:MySQL results orderMySQL结果顺序
【发布时间】:2016-11-26 03:00:19
【问题描述】:

我有一个查询将短语拆分为单词并显示结果:

SELECT (...) WHERE 'name' LIKE '%word1%' AND 'name' LIKE '%word2%' ... etc

我的问题是,当我输入“word1 word2”时,结果与“word2 word1”不同。

这是为什么呢?是什么原因造成的,如何解决?

【问题讨论】:

  • 把表名和列名的引号换成反引号

标签: php mysql sql


【解决方案1】:

使用或条件

SELECT (...) WHERE 'name' LIKE '%word1%' or'name' LIKE '%word2%' ... etc

【讨论】:

    【解决方案2】:

    将单引号 ' 改为反引号并使用 OR 运算符

    SELECT (...) WHERE `name` LIKE '%word1%' OR `name` LIKE '%word2%' ... etc
    

    检查这个:https://stackoverflow.com/a/2122759/2815635

    【讨论】:

    • 我做到了,先生 - 什么也没发生。
    • @user6624349 : 使用 OR 运算符和反引号
    • 尝试使用带有反引号的OR 运算符
    【解决方案3】:

    为什么要在同一列中有 2 个单词时将它们分开?

    使用这个:

    SELECT (...) WHERE 'name' LIKE '%word1%word2%' OR 'name' LIKE '%word2%word1%' ... etc
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      相关资源
      最近更新 更多