{ "data": { "question": { "questionId": "177", "questionFrontendId": "177", "boundTopicId": null, "title": "Nth Highest Salary", "titleSlug": "nth-highest-salary", "content": "
Table: Employee
\n+-------------+------+\n| Column Name | Type |\n+-------------+------+\n| id | int |\n| salary | int |\n+-------------+------+\nid is the primary key (column with unique values) for this table.\nEach row of this table contains information about the salary of an employee.\n\n\n
\n\n
Write a solution to find the nth
highest salary from the Employee
table. If there is no nth
highest salary, return null
.
The result format is in the following example.
\n\n\n
Example 1:
\n\n\nInput: \nEmployee table:\n+----+--------+\n| id | salary |\n+----+--------+\n| 1 | 100 |\n| 2 | 200 |\n| 3 | 300 |\n+----+--------+\nn = 2\nOutput: \n+------------------------+\n| getNthHighestSalary(2) |\n+------------------------+\n| 200 |\n+------------------------+\n\n\n
Example 2:
\n\n\nInput: \nEmployee table:\n+----+--------+\n| id | salary |\n+----+--------+\n| 1 | 100 |\n+----+--------+\nn = 2\nOutput: \n+------------------------+\n| getNthHighestSalary(2) |\n+------------------------+\n| null |\n+------------------------+\n\n", "translatedTitle": null, "translatedContent": null, "isPaidOnly": false, "difficulty": "Medium", "likes": 1874, "dislikes": 973, "isLiked": null, "similarQuestions": "[{\"title\": \"The Number of Users That Are Eligible for Discount\", \"titleSlug\": \"the-number-of-users-that-are-eligible-for-discount\", \"difficulty\": \"Easy\", \"translatedTitle\": null}]", "exampleTestcases": "{\"headers\": {\"Employee\": [\"id\", \"salary\"]}, \"argument\": 2, \"rows\": {\"Employee\": [[1, 100], [2, 200], [3, 300]]}}\n{\"headers\": {\"Employee\": [\"id\", \"salary\"]}, \"argument\": 2, \"rows\": {\"Employee\": [[1, 100]]}}", "categoryTitle": "Database", "contributors": [], "topicTags": [ { "name": "Database", "slug": "database", "translatedName": null, "__typename": "TopicTagNode" } ], "companyTagStats": null, "codeSnippets": [ { "lang": "MySQL", "langSlug": "mysql", "code": "-CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT\n-BEGIN\n- RETURN (\n- # Write your MySQL query statement below.\n-\n- );\n-END", "__typename": "CodeSnippetNode" }, { "lang": "MS SQL Server", "langSlug": "mssql", "code": "-CREATE FUNCTION getNthHighestSalary(@N INT) RETURNS INT AS\n-BEGIN\n- RETURN (\n- /* Write your T-SQL query statement below. */\n-\n- );\n-END", "__typename": "CodeSnippetNode" }, { "lang": "Oracle", "langSlug": "oraclesql", "code": "-CREATE FUNCTION getNthHighestSalary(N IN NUMBER) RETURN NUMBER IS\n-result NUMBER;\n-BEGIN\n- /* Write your PL/SQL query statement below */\n-\n- RETURN result;\n-END;", "__typename": "CodeSnippetNode" }, { "lang": "Pandas", "langSlug": "pythondata", "code": "import pandas as pd\n\ndef nth_highest_salary(employee: pd.DataFrame, N: int) -> pd.DataFrame:", "__typename": "CodeSnippetNode" }, { "lang": "PostgreSQL", "langSlug": "postgresql", "code": "CREATE OR REPLACE FUNCTION NthHighestSalary(N INT) RETURNS TABLE (Salary INT) AS $$\nBEGIN\n RETURN QUERY (\n -- Write your PostgreSQL query statement below.\n \n \n );\nEND;\n$$ LANGUAGE plpgsql;", "__typename": "CodeSnippetNode" } ], "stats": "{\"totalAccepted\": \"360.9K\", \"totalSubmission\": \"946.4K\", \"totalAcceptedRaw\": 360867, \"totalSubmissionRaw\": 946380, \"acRate\": \"38.1%\"}", "hints": [], "solution": { "id": "2008", "canSeeDetail": false, "paidOnly": true, "hasVideoSolution": false, "paidOnlyVideo": true, "__typename": "ArticleNode" }, "status": null, "sampleTestCase": "{\"headers\": {\"Employee\": [\"id\", \"salary\"]}, \"argument\": 2, \"rows\": {\"Employee\": [[1, 100], [2, 200], [3, 300]]}}", "metaData": "{\"mysql\": [\"Create table If Not Exists Employee (Id int, Salary int)\"], \"mssql\": [\"Create table Employee (Id int, Salary int)\"], \"oraclesql\": [\"Create table Employee (Id int, Salary int)\"], \"database\": true, \"manual\": true, \"name\": \"nth_highest_salary\", \"pythondata\": [\"Employee = pd.DataFrame([], columns=['Id', 'Salary']).astype({'Id':'Int64', 'Salary':'Int64'})\"], \"database_schema\": {\"Employee\": {\"Id\": \"INT\", \"Salary\": \"INT\"}}}", "judgerAvailable": true, "judgeType": "large", "mysqlSchemas": [ "Create table If Not Exists Employee (Id int, Salary int)", "Truncate table Employee", "insert into Employee (id, salary) values ('1', '100')", "insert into Employee (id, salary) values ('2', '200')", "insert into Employee (id, salary) values ('3', '300')" ], "enableRunCode": true, "enableTestMode": false, "enableDebugger": false, "envInfo": "{\"mysql\": [\"MySQL\", \"
MySQL 8.0
.
mssql server 2019
.
Oracle Sql 11.2
.
Python 3.10 with Pandas 2.0.2 and NumPy 1.25.0
\"], \"postgresql\": [\"PostgreSQL\", \"PostgreSQL 16
\"]}", "libraryUrl": null, "adminUrl": null, "challengeQuestion": null, "__typename": "QuestionNode" } } }