2019独角兽企业重金招聘Python工程师标准>>>

Write a SQL query to get the second highest salary from the Employee table.+----+--------+
| Id | Salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+
For example, given the above Employee table, the query should return 200 as the second highest salary. If there is no second highest salary, then the query should return null.+---------------------+
| SecondHighestSalary |
+---------------------+
| 200                 |
+---------------------+https://leetcode.com/problems/second-highest-salary/description/solution:本想找第二高的就是子查询找到 两个最高的 然后取最小的那个
select Salary as SecondHighestSalary from
(select * from Employee order by Salary desc limit 2) temp
order by Salary  asc limit 1
但是执行 告诉我结果是错的  原来题目的要求中没有第二高的就返回 null看来转换思路很重要呀,当时想按照上面的方式 怎么处理子查询只有一条的情况呀 真是陷入了自己的坑
然后按照取到max最大的,从比最大的小中的最大的,如果我要取第三大的 是不是比较坑
SELECT MAX(Salary) as SecondHighestSalary
FROM Employee
WHERE Salary < (SELECT MAX(Salary) FROM Employee);然后去看看网上的大神都是怎么处理的 这边UNION ALL 和 UNION是一样的吧
SELECT Salary as SecondHighestSalary FROM Employee GROUP BY Salary
UNION ALL (SELECT NULL AS SecondHighestSalary)
ORDER BY SecondHighestSalary DESC LIMIT 1,1;
如果是我 mysql估计就会卡在这边怎么处理null的问题出不来了
SELECT Salary as SecondHighestSalary FROM Employee GROUP BY Salary  DESC LIMIT 1,1下面这个max的用法 和上面的异曲同工
SELECT MAX(Salary) as SecondHighestSalary  FROM Employee
WHERE Salary NOT IN
(SELECT MAX(Salary) FROM Employee);后面这个人写的真直接呀
SELECT MAX(Salary) as SecondHighestSalary FROM Employee E1
WHERE 1 =
(SELECT COUNT(DISTINCT(E2.Salary)) FROM Employee E2
WHERE E2.Salary > E1.Salary);

git地址:https://github.com/woshiyexinjie/leetcode-xin

转载于:https://my.oschina.net/u/2277632/blog/1586121

Second Highest Salary --leetCode相关推荐

  1. 【leetcode Database】184. Department Highest Salary

    题目: The Employee table holds all employees. Every employee has an Id, a salary, and there is also a ...

  2. 176. Second Highest Salary(必看)

    考察limit offset,ifnull, 记得distinct ① selete * from testtable limit 2,1; ② selete * from testtable lim ...

  3. LeetCode - Department Highest Salary

    题目大概的意思是选出每个Department里工资最高的人的信息并组成相应的表信息 有几个值得注意的地方:1)使用group by语句时,前面的select语句后面的内容只能有两种情况一种是group ...

  4. 177. Nth Highest Salary

    CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN DECLARE M INT; SET M=N-1;RETURN (# Writ ...

  5. LeetCode 176. Second Highest Salary--Database--数据库题目

    LeetCode 176. Second Highest Salary–Database–数据库题目 LeetCode题解专栏:LeetCode题解 我做的所有的LeetCode的题目都放在这个专栏里 ...

  6. LeetCode 所有题目总结

    文章目录 做题注意事项 题目分类 1.位运算 2.字符串题型 3.TopK 问题--最大堆/最小堆 4.链表 5.动态规划 easy Medium hard 6.贪心 7.树 8.图 9.数学题 10 ...

  7. Leetcode之Database篇

    早晨和陈John一起来实验室的路上听他说起leetcode上也有数据库和shell的练习.于是拿来练练手,发现数据库的题只有几道而且做得也很快AC率也蛮高,权当复习了一下数据库的基本语法了吧. 1:E ...

  8. LeetCode 简单算法题

    使用Nodejs 抓取的LeetCode 简单算法题  一步一步来,先攻破所有简单的题目,有些题目不适合使用JS解决,请自行斟酌 Letcode 简单题汇总 104. Maximum Depth of ...

  9. LeetCode github集合,附CMU大神整理笔记

    Github LeetCode集合 本人所有做过的题目都写在一个java项目中,同步到github中了,算是见证自己的进步.github目前同步的题目是2020-09-17日之后写的题.之前写过的题会 ...

最新文章

  1. 每日一皮:上线一切正常的顺畅感就是如此赏心悦目!
  2. RabbitMq--1
  3. java怎么将前端的数据存到关联的表中_Java程序员最可能被考到的14个面试题
  4. mysql的cpu飙升到500_[MySQLCPU]线上飙升800%,load达到12的解决过程
  5. 【嵌入式工程师面试高频问题】你知道SPI吗
  6. 【BERT】源码分析(PART II)
  7. 联想微型计算机beta2,联想上网本升级IdeaPad S10-2
  8. linux下组态软件,linux组态软件入门使用
  9. WinRAR使用基础技巧
  10. 中国历史上的牛顿+巴顿新解
  11. 三极管工作原理_10分钟分析稳压三极管工作原理
  12. Windows下如何对声卡音频输出进行录音
  13. CentOS7安装IT资产管理系统Snipe-IT
  14. Go 并发 | 数据竞争及竞争条件
  15. day3--高级数据类型
  16. 你头疼的ELK难题,本文几乎都解决了
  17. 世界第二例艾滋病患者被治愈,“柏林病人”不再孤单
  18. python平均值代码_python中的运行平均值
  19. 电信感知测试软件,智能算法在电信业务用户体验感知分析中的应用
  20. php中smarty模板的优点,php的smarty模板引擎有哪些特点

热门文章

  1. Python 装饰器实例
  2. ES6 系列之模块加载方案
  3. http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/
  4. 学习《Python核心编程》做一下知识点提要,方便复习(二)
  5. JPA 实体生命周期图
  6. nacos配置中心使用_SpringBoot开发案例Nacos配置管理中心
  7. 手动配置gradle
  8. Android界面开发工具DroidDraw
  9. 浅谈软件架构师的工作
  10. Alphabet高管:移动搜索为收入主要增长点 广告形式改进长期获益