I have following sql query for finding 2nd max salary.
Select * From Employee E1 Where (2) = (Select Count(Distinct(E2.Salary)) From Employee E2 Where
Using LINQ, you can find the 3rd highest salary like this:
// first use LINQ to sort by salary, then skip first 2 and get next
var thirdHighestSalary= (from n in db.Employee order by n.salary descending select n).distinct().skip(2). FirstOrDefault()
// write the result to console
Console.WriteLine(Third Highest Salary is : {0},thirdHighestSalary.Salary);