MYSQL查询相关查询

MYSQL查询相关查询

问题描述:

我正在写一个查询,我正在寻找从数据库中拉出相关领域10行的限制。MYSQL查询相关查询

该查询很容易编写,但我想知道是否有一种方法来编写查询,以便它搜索相关的项目,并首先将它们拉出来,如果这些项目只是为剩余的项目拉取随机字段。

下面是我用拉的相关行

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

我的想法,可以工作,我想:用随机10联合选择10,然后将结果限制为10 – 2011-03-12 01:00:14

+0

为了澄清,如果给定的两个搜索条件产生小于10分的结果,要填充随机非重复行的结果集? – JYelton 2011-03-12 01:00:58

+0

JYelton – Dave 2011-03-12 01:02:24

你只需要通过你正在寻找第一个条件,这样做是如下的一种方式订购表:

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