MYSQL查找相关查询

时间:2011-03-12 00:57:03

标签: mysql database

我正在编写一个查询,我希望从数据库中提取相关字段,限制为10行。

查询很容易编写,但我想知道是否有办法编写查询,以便搜索相关项目并首先提取这些项目,如果这些项目是< 10它只会为其余字段提取随机字段。

以下是我用来提取相关行的查询

SELECT * FROM table WHERE term LIKE '%term1%' or term LIKE '%term2%' LIMIT 0,10

1 个答案:

答案 0 :(得分:1)

您只需要按照您要查找的条款订购表格,其中一种方法如下:

SELECT * FROM table 

ORDER BY (
  (
    CASE WHEN term LIKE '%term1%'
    THEN 1
    ELSE 0
    END
  ) + (
    CASE WHEN term LIKE '%term2%'
    THEN 1
    ELSE 0
    END
  )
) DESC
LIMIT 0,10