2011-03-12 4 views
0

나는 10 행의 제한과 함께 데이터베이스에서 관련 필드를 가져 오기 위해 찾고있는 쿼리를 작성하고 있습니다.MYSQL 관련 쿼리를 찾으십시오

쿼리가 쓰기 쉽습니다. 그러나 관련 항목을 검색하여 해당 항목을 검색하도록 쿼리를 작성하는 방법이 있는지 궁금 해서요. 나머지는 해당 필드에 대해 무작위 필드를 가져옵니다. < . 여기

내가 관련 행

을 당겨하는 데 사용하는 쿼리입니다
SELECT * FROM table WHERE term LIKE '%term1%' or term LIKE '%term2%' LIMIT 0,10 
+0

내 생각은 작동 할 수있다 : 생각해 보면 : 10을 랜덤 10의 조합으로 선택한 다음 결과를 10으로 제한하십시오. –

+0

주어진 두 검색어의 집합이 10 개 미만의 결과를 산출한다면, 임의의 중복되지 않는 행을 사용하는 결과 집합? – JYelton

+0

correct JYelton – Dave

답변

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 
+0

@ 질문에 답하면 대답을 수락하는 것이 예의라고 생각합니다. –