喜欢和平等的SQL顺序相等?

Nic*_*unt 1 mysql sql sql-order-by

说我有下表:

ID      Author
---------------------
1       Bill
2       Joe
3       Bill and Joe
4       Bill
Run Code Online (Sandbox Code Playgroud)

我想要一个结果集来自:

SELECT id FROM table WHERE Author LIKE '%Bill%' OR Author = 'Bill'
Run Code Online (Sandbox Code Playgroud)

我如何订购它,以便与相等匹配的行是返回的第一行,之后是匹配的?例如,查询将返回1,4,3.我正在使用MySQL,但会在任何数据库中获取答案.

Mar*_*ith 8

SELECT  id
FROM    YourTable
WHERE  Author LIKE '%Bill%' 
ORDER BY CASE WHEN Author = 'Bill' THEN 0
              ELSE 1
         END 
Run Code Online (Sandbox Code Playgroud)

你可能也可以这样做ORDER BY Author != 'Bill'- 不确定在MySQL中通过布尔表达式排序.