mysql--返回第N高的薪水(不存在返回null)
Posted vegetabledd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql--返回第N高的薪水(不存在返回null)相关的知识,希望对你有一定的参考价值。
思路分析:( 结合IF(a,b,c) )
1、首先我们需要判断如果我们对所有的工资进行去重 再 count 计数,观察工资的阶段的总和是否大于N(这里的N指的是我们需要查询的第N高的薪水),如果去重之后的工资的阶段的总和都小于N,那就说明我们要查询的第N高的工资肯定为null。
------>>>>这部分相当于是IF语句中的a部分
2、如果上述的a条件成立的话,那么我们就走第二步,要从表中筛选出我们需要的第N高的工资。子查询中的语义:首先对表中的工资去重查询,按照工资降序,因为我们要第N高的工资,所以我们干脆直接调用limit去筛选出倒序结果中的前N个数据,该数据中最小的数据也就是我们需要的结果。(工资倒序的话,越下面的数据越大)
具体sql语句的实现:
MySQL中的IF函数知识点补充:
IF(a,b,c) 首先对a判断是否成立,如果a结果为true,那么输出的结果就是b,如果a的结果是false,输出的结果是c
以上是关于mysql--返回第N高的薪水(不存在返回null)的主要内容,如果未能解决你的问题,请参考以下文章