[Leetcode-database] Second Highest Salary

Source: Internet
Author: User

Write a SQL query to get the second highest salary from the Employee table.

+----+--------+| Id | Salary |+----+--------+| 1 | |    | 2 | | |    3  |    |+----+--------+

For example, given the above Employee table, the second highest salary is 200 . If there is no second highest salary and then the query should return null .

Test instructions: Query the second-highest wage, no returns NULL.

Idea 1: Direct sort to go heavy, here null to return NULL, so use the Ifnull () function.

Sql:

SELECT DISTINCT ifnull ((select distinct Salary from the employee ORDER by Salary desc-limit), null) from employee;

Understand that using nested select can replace the Ifnull function:

Select (select DISTINCT Salary from the Employee order by Salary desc limit);

Idea 2: Find the biggest. And find the biggest in the rest. Because the aggregate function can return null directly

Sql:

Select Max (Salary) from the employee where Salary < (select Max (Salary) from employee);

[Leetcode-database] Second Highest Salary

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.