具有复杂逻辑的 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