SQL查询排名第二名的信息
今天看见同学去面试的面试题,查询出某个字段排名第二名的信息,自己就看看

如果是Oracle ,这不就是考察Oracle分页么,以Oracle的emp表为例,根据薪水排名,查询排名第二的员工信息:
select *
from (select t.*, rownum rn
from (select * from emp e order by sal desc,empno) t
where rownum <= 2) A
where A.rn >= 2

(注意Oracle rownum陷阱,不能对Oracle 的rownum 直接进行 rownum> rownum>= rownum = 操作,因为第一条不满足去掉的话,第二条的rownum又成了1,所以永远没有满足条件的记录。所以Oracle分页里边的select 先用 rownum <= xxx ,外边再rownum>=xxx
想要使用的话需要这样,再嵌套一层select :select A.* from (select e.*,rownum rn from emp e)A where A.rn>=13 )
还可以使用开窗函数 row_number() :开窗函数简介 http://www.cnblogs.com/lihaoyang/p/6756956.html
select * from
(select e.*,row_number() over(order by sal desc) sal_sort from emp e)t
where t.sal_sort=2
如果是mysql,就简单了,limit就行:limit 下标是从0开始的,limit 1,1 表示从第2个往后一个,就是第二名了
select * from tb_emp ORDER BY sal desc LIMIT 1,1
SQL查询排名第二名的信息的更多相关文章
- SQL 查询排名是第三位的人
MYSQL可以使用如下的用法: SELECT id FROM partner_broker_account_record ORDER BY id LIMIT 2, 1 在limit为2的基础上加1, ...
- WordPress 常用数据库SQL查询语句大全
在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容等等.这个时候,使用SQL查询语句可以大大简化我们的工作量. 关于如何操作SQL查询语 ...
- SQL查询数据库信息, 数据库表名, 数据库表信息
SQL查询数据库信息, 数据库表名, 数据库表信息 ---------------------------------------------- -- 以下例子, 在sql_server 中可以直接运 ...
- sql server sql查询数据库的表,字段,主键,自增,字段类型等信息
1.查询数据表的属性(名称.说明.是否主键.数据类型.是否自增) SELECT t1.name columnName,case when t4.id is null then 'false' else ...
- 通过sql查询rman备份信息
通过sql查询rman备份信息 查看所有备份集 SELECT A.RECID "BACKUP SET", A.SET_STAMP, DECODE (B.INCREMENTAL_LE ...
- 关于MY Sql 查询锁表信息和解锁表
1.查询锁住表信息 show OPEN TABLES where In_use > 0; 2.查看进程 show processlist; 3.解开锁住的表 需要杀掉锁住表的相关进程Id. k ...
- SQL查询对分数进行排名
编写SQL查询以对分数进行排名. 如果两个分数之间存在平局,则两者应具有相同的排名. 请注意,在平局之后,下一个排名数应该是下一个连续的整数值. 换句话说,等级之间不应该存在"漏洞" ...
- (转)经典SQL查询语句大全
(转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...
- 经典SQL查询语句大全
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
随机推荐
- java.lang.NoClassDefFoundError Could not initialize class 异常的处理
class,forname的配置文件出问题核对url数据库中的名字和bean中名字不同没有把jar包变成build path
- (欧拉公式 很水) Coprimes -- sgu -- 1002
链接: http://vj.acmclub.cn/contest/view.action?cid=168#problem/B Coprimes 时限:250MS 内存:4096KB 6 ...
- 如何更新world文档的目录
在想要设置目录的文档页,右键 -> 更新域, 或者在想要设置目录的文档页,按下 F9 即可 拓展: 在目录文档页 ,按Ctrl 并且单击鼠标可以跟踪目标连接 如果内容对您有所帮助,请打赏--- ...
- 20155225 2016-2017-2 《Java程序设计》第九周学习总结
20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...
- HDU1065 I Think I Need a Houseboat 2016-07-24 13:59 101人阅读 评论(0) 收藏
I Think I Need a Houseboat Problem Description Fred Mapper is considering purchasing some land in Lo ...
- 磁盘配额(Quota)的应用与实践
1>什么是Quota 在Linux中,由于是多用户,多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中有少数几个用户大量占用掉了硬盘空间的话,那肯定影响其他用户的使 ...
- 集合(三)CopyOnWriteArrayList
第一次见到CopyOnWriteArrayList,是在研究JDBC的时候,每一个数据库的Driver都是维护在一个CopyOnWriteArrayList中的,为了证明这一点,贴两段代码,第一段在c ...
- [svn] TortoisSVN的Blam功能
团队开发中,我们必须要面对多个人对同一个文件进行修改的情况. 多人修改同一文件,往往就会发生很多的问题,或者随着文件中代码的数量不断增加.当我们必须要使用文件中的其他人写的代码,或者代码发生bug之后 ...
- Python学习-30.Python中的元组(tuple)
元组使用()定义,元组一旦定义就无法修改. 元组的索引方式同列表,也是使用[]. 元组也可以进行切片操作,使用方式同列表一样. 可以说,一个没法修改的列表就是元组. 在没有修改操作的情况下,应尽可能使 ...
- CSharp程序员学Android开发---3.Android内部元素不填充BUG
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...