具有複雜邏輯的 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