我想按照設置我的LIKE運算符的順序得到結果。首先是包含標題覆盆子,然後是蘋果和最後一個梨的行。至於現在它只是按照我將它們插入到表中的順序返回行。在MySQL LIKE運算符順序中返回結果
例子:
SELECT id FROM table WHERE
title LIKE 'raspberry' OR
title LIKE 'apple' OR
title LIKE 'pear'
我想按照設置我的LIKE運算符的順序得到結果。首先是包含標題覆盆子,然後是蘋果和最後一個梨的行。至於現在它只是按照我將它們插入到表中的順序返回行。在MySQL LIKE運算符順序中返回結果
例子:
SELECT id FROM table WHERE
title LIKE 'raspberry' OR
title LIKE 'apple' OR
title LIKE 'pear'
您還可以使用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
@downvoters謹慎解釋答案中的錯誤 –
使用FIELD()
SELECT id
FROM table
WHERE title in ('raspberry','apple','pear')
ORDER BY field(title, 'raspberry','apple','pear')
如果你是比較到c ('樹莓','蘋果','梨')中的標題更簡單。 –