2014-01-23 3 views
1

LIKE 연산자를 설정 한 순서대로 결과를 얻고 싶습니다. 먼저 라스베리, 사과, 마지막 배라는 제목이 들어있는 행. 지금 당장은 행을 테이블에 삽입 한 순서대로 반환합니다.MySQL LIKE 연산자 결과 반환

예 : C에 비교하는 경우

SELECT id FROM table WHERE 
title LIKE 'raspberry' OR 
title LIKE 'apple' OR 
title LIKE 'pear' 
+0

을 사용할 수 있습니다 onstants,'title in ('raspberry', 'apple', 'pear')는 더 간단합니다. –

답변

0

또한 CASE

SELECT 
    id 
FROM 
    TABLE 
WHERE title LIKE 'raspberry' 
    OR title LIKE 'apple' 
    OR title LIKE 'pear' 
ORDER BY 
    CASE 
    WHEN title LIKE 'raspberry' 
    THEN 1 
    WHEN title LIKE 'apple' 
    THEN 2 
    WHEN title LIKE 'pear' 
    THEN 3 
    ELSE 4 
    END 

CASE Syntax

+1

@downvoters는 답을 잘못 설명합니다. –

3

사용 FIELD()

SELECT id 
FROM table 
WHERE title in ('raspberry','apple','pear') 
ORDER BY field(title, 'raspberry','apple','pear')