sql 面试题 函数 求工资第n多的工资
2016-09-17 13:34
288 查看
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( select e1.Salary from (select distinct Salary fromEmployee) e1 where ( select count(*) from (select distinct Salary from Employee) e2 where e2.Salary>e1.Salary)=N-1 ); END
select count(*) from (select distinct Salary from Employee) e2 where e2.Salary>e1.Salary)
相当于 遍历e1里的所有的salary
然后列出e2里大于e1中每一个salary的所有记录
当N-1=0时 e1.salary是最大值
当N-1=1时 e1.salary是第二大值
。。。。。。
自行脑补测试
相关文章推荐
- 组函数(avg(),sum(),max(),min(),count())、多行函数,分组数据(group by,求各部门的平均工资),分组过滤(having和where),sql优化 .
- 【SQL】今天的一个sql面试题(分层函数使用)
- 员工部门工资SQL面试题
- 6.组函数(avg(),sum(),max(),min(),count())、多行函数,分组数据(group by,求各部门的平均工资),分组过滤(having和where),sql优化
- 【SQL】今天的一个sql面试题(分组函数使用)
- 今天做的一个SQL面试题,用到了HAVING语句来限制函数关系
- 一道sql面试题:translate()函数的应用
- 员工部门工资SQL面试题
- PL/SQL变长和固定长度文件读入函数
- --第一次写的sql自定义函数……(如果你是高手看了别笑……)
- 一道sql面试题
- [函数]procedure GetSQLServerLsit(sSList:TStrings);
- 把货币金额转换成大写的SQL自定义函数(SQL Server版)
- SQL的基本命令和几个常用函数汇总
- [函数]function GetLocalSQLDataPath: string;
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!
- 妙用 T-SQL: PARSENAME 函数 (也可不使用该函数,鸣谢"小杰") 实现按指定分隔符拆分字符串 SplitString
- Sql中的字符串反转函数
- 在DB2 中创建一个获取汉字拼音首字母的SQL 函数