2014-01-23 46 views
1

我想按照設置我的LIKE運算符的順序得到結果。首先是包含標題覆盆子,然後是蘋果和最後一個梨的行。至於現在它只是按照我將它們插入到表中的順序返回行。在MySQL LIKE運算符順序中返回結果

例子:

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

如果你是比較到c ('樹莓','蘋果','梨')中的標題更簡單。 –

回答

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')