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,但会在任何数据库中获取答案.
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中通过布尔表达式排序.