第二高的薪水 | MySQL
题目:
解法一:
思路1:去重的基础之上,找出薪水最高的值,然后再找出小于最高值的薪水中的最大值。
第一步:先找出最高值的薪水(去重)
第二步:找出小于最高值薪水中的最大值。
第四步:将结果命名为 SecondHighestSalary
解法二:将薪水降序排列,然后选出第二行的值,就是第二值。
ifnull (a,b) 如果value1 不为空,则返回a;如果value 1 为空,则返回b
order by 将列表进行排序;desc降序;asc升序;
limit n 表示查询结果返回前n条数据;
offset m 表示跳过m条数据
limit n offset m 表示跳过m条数据,返回n条数据。
第一步:去重,降序排序
第二步:跳过1条数据,返回1条数据,就是第二条数据。
第三步:判断是否存在第二高薪水,存在就返回薪水,不存在就返回空值。
创作不易,点个赞就是对作者最大的鼓励。