我正在编写一个查询,我希望从数据库中提取相关字段,限制为10行。
查询很容易编写,但我想知道是否有办法编写查询,以便搜索相关项目并首先提取这些项目,如果这些项目是< 10它只会为其余字段提取随机字段。
以下是我用来提取相关行的查询
SELECT * FROM table WHERE term LIKE '%term1%' or term LIKE '%term2%' LIMIT 0,10
答案 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