MYSQL查找相关查询
我正在编写一个查询,希望从一个限制为10行的数据库中提取相关字段 该查询很容易编写,但是我想知道是否有一种方法可以编写该查询,以便它搜索相关项并首先提取这些项,如果这些项小于10,则只提取剩余项的随机场 下面是我用来提取相关行的查询MYSQL查找相关查询,mysql,database,Mysql,Database,我正在编写一个查询,希望从一个限制为10行的数据库中提取相关字段 该查询很容易编写,但是我想知道是否有一种方法可以编写该查询,以便它搜索相关项并首先提取这些项,如果这些项小于10,则只提取剩余项的随机场 下面是我用来提取相关行的查询 SELECT * FROM table WHERE term LIKE '%term1%' or term LIKE '%term2%' LIMIT 0,10 您只需按照您首先要查找的术语来订购表格,一种方法如下: SELECT * FROM table OR
SELECT * FROM table WHERE term LIKE '%term1%' or term LIKE '%term2%' LIMIT 0,10
您只需按照您首先要查找的术语来订购表格,一种方法如下:
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
我的想法是可行的,我认为:用随机10的并集选择10,然后将结果限制为10。为了澄清,如果一组给定的两个搜索词产生的结果少于10个,你想用随机的非重复行填充结果集吗?@Dave如果回答了你的问题,接受答案是礼貌的。