返回第N大的数--Mysql(学习)
2016-06-22 20:05
435 查看
最近在做leetcode上数据库的题,如何返回第N大的值。题目如下:
解答代码:
主要知识点:
limit的使用方法,limit n返回前n条记录,limit n offest m从m+1条记录开始返回n条记录 。代码中使用group by Salary的作用是去重,对于大数据查询时使用group by去重比distinct的效率要高一些。
Write a SQL query to get the nth highest salary from the Employee table. +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+
解答代码:
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN SET N=N-1; RETURN ( # Write your MySQL query statement below select Salary from Employee group by Salary order by Salary desc limit 1 offset N ); END
主要知识点:
limit的使用方法,limit n返回前n条记录,limit n offest m从m+1条记录开始返回n条记录 。代码中使用group by Salary的作用是去重,对于大数据查询时使用group by去重比distinct的效率要高一些。
相关文章推荐
- MySQL 加锁处理分析
- mysql读写分离
- mysql ERROR 1045 错误的解决办法,很有用啊
- mysql interactive_timeout wait_timeout区别
- mysql-mysqldump
- mysql表属性、索引、约束
- MySQL 5.7原生JSON格式支持
- mysql主从复制
- mysql的基本安装与操作
- [MySQL] 生产环境MySQL数据库事务一直在RUNNING
- liunx mysql 设置root密码
- MySQL数据库,将一列数据组合成一行,并以逗号分割,GROUP_CONCAT
- MySQL的优化点总结---通过计算多种状态的百分比看MySQL的性能情况
- 开启MYSQL远程连接权限
- mysql索引结构原理、性能分析与优化
- MySQL:常用基本SQL语句小结
- mysql查看表结构命令
- 商品管理系统--分类、品牌、属性、商品、价格、图片管理
- MySql插入中文数据,乱码问题的解决
- mysql忘记密码的处理方式总结