Finding 2nd and 3rd Highest and Lowest Salaries Using LINQ

Finding 2nd and 3rd Highest and Lowest Salaries Using LINQ

1. 2nd Highest Salary:

var secondHighestSalary = employees
    .OrderByDescending(e => e.Salary)
    .Select(e => e.Salary)
    .Distinct()
    .Skip(1)
    .FirstOrDefault();


2. 3rd Highest Salary:

var thirdHighestSalary = employees
    .OrderByDescending(e => e.Salary)
    .Select(e => e.Salary)
    .Distinct()
    .Skip(2)
    .FirstOrDefault();


3. 2nd Lowest Salary:

var secondLowestSalary = employees
    .OrderBy(e => e.Salary)
    .Select(e => e.Salary)
    .Distinct()
    .Skip(1)
    .FirstOrDefault();


4. 3rd Lowest Salary:

var thirdLowestSalary = employees
    .OrderBy(e => e.Salary)
    .Select(e => e.Salary)
    .Distinct()
    .Skip(2)
    .FirstOrDefault();

Comments

Popular posts from this blog

Sonar qube for code scan

Generate 100 records using linq c#