176. Second Highest Salary

来源:互联网 发布:matlab数学建模算法 编辑:程序博客网 时间:2024/06/05 05:06

题目:

找出工资第二高的工资数。
Employee.

Id Salary 1 100 2 200 3 300

例如工资第二高的是200,则输出。如果没有第二高的数据,则返回空。

SecondHighestSalary 200

解析:

找出次高值,我们很容易联想到,找出元素中的最大值(利用内函数max())。但是并没有函数可以直接找到次高值,因此可以max来找到次高值。
在小于最大值的条件下,再次寻找一个最大值,那么该值就是次高值。

select max(salary) as SecondHighestSalaryfrom Employeewhere salary<(select max(salary) from Employee)

利用(select max(salary) from Employee)找出最大值,并作为条件,小与该值再次寻找最大值,输出即为次高值。
住:一定要写as SecondHighestSalary,因为最后输出表头为SecondHighestSalary

原创粉丝点击