• And what happens if the bottom 5 people have the worse wage, and what you want is the 6th person (2nd lowest wage)? You might want to use the RANK() function.

    declare @TopWagePosition int;

    set @TopWagePosition = 2;

    WITH CTE AS

    (

    SELECT EmpID,

    EmpWage,

    RN = RANK() OVER (ORDER BY EmpWage DESC)

    FROM EmpDetails

    )

    SELECT *

    FROM CTE

    WHERE RN = @TopWagePosition;

    You might want to see this article for how all of the Windowing Functions work: SQL Server Ranking Functions[/url]

    Wayne
    Microsoft Certified Master: SQL Server 2008
    Author - SQL Server T-SQL Recipes


    If you can't explain to another person how the code that you're copying from the internet works, then DON'T USE IT on a production system! After all, you will be the one supporting it!
    Links:
    For better assistance in answering your questions
    Performance Problems
    Common date/time routines
    Understanding and Using APPLY Part 1 & Part 2