我有下面的SQL查询来找到第二个最高薪水。
选择*从员工E1那里
(2)=(从员工E2选择Count(Distinct(E2.Salary)),其中
E2.Salary> E1.Salary)
我想将其转换为Linq语句。
最佳答案
我认为您要问的是找到薪水第二高的员工吗?
如果是这样,那将是类似
var employee = Employees
.OrderByDescending(e => e.Salary)
.Skip(1)
.First();
如果多个雇员的薪水相等,并且您希望返回工资第二高的所有雇员的IEnumerable,则可以执行以下操作:
var employees = Employees
.GroupBy(e => e.Salary)
.OrderByDescending(g => g.Key)
.Skip(1)
.First();
(对@ diceguyd30表示建议后一种增强表示感谢)
关于c# - 使用linq查找第二个最高薪水,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4449238/