SELECT * FROM sample WHERE keywords LIKE '%face food%'
ORDER BY
CASE
WHEN keywords LIKE '%,face food,%' THEN 1
WHEN keywords LIKE '%face food%' THEN 2
WHEN soundex(`keywords`) LIKE CONCAT('%',soundex('face food'), '%') THEN 3
WHEN keywords LIKE '%,facefood,%' THEN 4
WHEN keywords LIKE '%facefood%' THEN 5
WHEN soundex(`keywords`) LIKE CONCAT('%',soundex('facefood'), '%') THEN 6
END
答案 0 :(得分:0)
@Bhuvnesh Kumar ...
只需添加其他语句
这是示例之一。...
SELECT
customerName, state, country
FROM
customers
ORDER BY CASE
WHEN state IS NULL THEN country
ELSE state
END
答案 1 :(得分:0)
您错过了查询的最后一个else
子句
SELECT * FROM sample WHERE keywords LIKE '%face food%'
ORDER BY
CASE
WHEN keywords LIKE '%,face food,%' THEN 1
WHEN keywords LIKE '%face food%' THEN 2
WHEN soundex(`keywords`) LIKE CONCAT('%',soundex('face food'), '%') THEN 3
WHEN keywords LIKE '%,facefood,%' THEN 4
WHEN keywords LIKE '%facefood%' THEN 5
WHEN soundex(`keywords`) LIKE CONCAT('%',soundex('facefood'), '%') THEN 6
Else 7
END