MYSQL查询相关查询
问题描述:
我正在写一个查询,我正在寻找从数据库中拉出相关领域10行的限制。MYSQL查询相关查询
该查询很容易编写,但我想知道是否有一种方法来编写查询,以便它搜索相关的项目,并首先将它们拉出来,如果这些项目只是为剩余的项目拉取随机字段。
下面是我用拉的相关行
查询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
+0
@Dave如果回答你的问题,接受答案被认为是礼貌的。 – 2011-03-16 06:21:42
我的想法,可以工作,我想:用随机10联合选择10,然后将结果限制为10 – 2011-03-12 01:00:14
为了澄清,如果给定的两个搜索条件产生小于10分的结果,要填充随机非重复行的结果集? – JYelton 2011-03-12 01:00:58
JYelton – Dave 2011-03-12 01:02:24