具有複雜邏輯的 ORDER BY

如果我們想為每個組分配不同的資料,我們可以為 ORDER BY 新增 CASE 語法。在這個例子中,我們想要按工資從部門 1 和部門 2 的員工按工資訂購員工。

ID FName 引數 LName 電話號碼 經理 ID DepartmentID 薪水 聘用日期
1 詹姆士 工匠 1234567890 空值 1 1000 2002 年 1 月 1 日
2 約翰 約翰遜 2468101214 1 1 400 23-03-2005
3 邁克爾 威廉姆斯 1357911131 1 2 600 12-05-2009
4 喬納森 工匠 1212121212 2 1 500 24-07-2016
山姆 撒克遜 1372141312 2 2 400 25-03-2015
The following query will provide the required results:
SELECT Id, FName, LName, Salary FROM Employees
ORDER BY Case When DepartmentId = 1 then LName else Salary end