#177 Nth Highest Salary

CREATE FUNCTION getNthHighestSalary(@N INT) RETURNS INT AS
BEGIN
    RETURN (
        /* Write your T-SQL query statement below. */
        SELECT 
            CASE 
                WHEN COUNT(*) >= @N THEN MIN(salary)
                ELSE NULL
            END
        FROM (
            SELECT DISTINCT TOP(@N) salary FROM Employee
            ORDER BY salary DESC
        ) A
        
    );
END

Last updated

Was this helpful?