Ank*_*ita 0 mysql sql database case sql-order-by
我正在使用这个特定的例子
https://www.w3schools.com/sql/sql_orderby.asp
我想获取按国家/地区模式排序的客户列表。
例如,Country以 开头的国家/As地区应在数字上排在第一位,然后是以 开头的国家/地区Ge,最后是以 开头的国家/地区Fr。
如果我需要在该国家/地区使用 1 种模式搜索进行订购,我可以使用以下代码来实现:
SELECT * FROM Customers
ORDER BY (CASE WHEN Country LIKE 'Fr%' THEN 0
ELSE 1
END)ASC;
Run Code Online (Sandbox Code Playgroud)
如何在该ORDER BY条款中再添加 2 个条件?谢谢。
您可以通过每次增加数字来CASE为附加“条件”添加多个:
SELECT * FROM Customers
ORDER BY (CASE
WHEN Country LIKE 'As%' THEN 0
WHEN Country LIKE 'Ge%' THEN 1
WHEN Country LIKE 'Fr%' THEN 2
ELSE 3
END) ASC;
Run Code Online (Sandbox Code Playgroud)