查询第二高的薪水

SELECT MAX(salary) as '第二高'
FROM employee
WHERE salary<(SELECT MAX(salary)
FROM employee
)

解题思路:

  使用自查询:

    表中 薪水值 小于 自己表中 最大薪水值 的 最大的那个值 就是第二高

SELECT IFNULL(
(SELECT DISTINCT
salary
FROM employee
ORDER BY salary
DESC LIMIT 1,1),
0)
AS '第二高'

这里边的‘’0‘’ 的意思是:查询不到的情况下 想要返回的 什么值可以是null 也可以是 字符串

猜你喜欢

转载自www.cnblogs.com/dingyi-boss/p/11453867.html