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--- 创建 备份数 ...
随机推荐
- 理解指令的restrict属性(转)
restrcit属性说明 restrict: EACM中的任意一个之母.它是用来限制指令的声明格式的. E - 元素名称:<my-directive></my-directive&g ...
- nvarchar,varchar 区别
char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值.当你输入的字符大于指定的数时,它会截取超出的字符. nva ...
- MySQL性能调优与架构设计——第 14 章 可扩展性设计之数据切分
第 14 章 可扩展性设计之数据切分 前言 通过 MySQL Replication 功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时候,我 ...
- HDU1254 推箱子(BFS) 2016-07-24 14:24 86人阅读 评论(0) 收藏
推箱子 Problem Description 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能推 ...
- [转] ubuntu安装Sublime Text 3并使用SublimeClang插件
原文地址:https://blog.csdn.net/cywosp/article/details/32721011 3. 安装强大的SublimeClang插件 SublimeClang是Subli ...
- django分页及搜索后如何翻页
django自带了Pagnator 导入 from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage 分页 def ...
- CSS/CSS3
CSS/CSS3 选择器. 选择器 例子 例子描述 CSS 说明 .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- C#多线程编程系列(二)- 线程基础
目录 C#多线程编程系列(二)- 线程基础 1.1 简介 1.2 创建线程 1.3 暂停线程 1.4 线程等待 1.5 终止线程 1.6 检测线程状态 1.7 线程优先级 1.8 前台线程和后台线程 ...
- [Xamarin]我的Xamarin填坑之旅(二)
上一篇交代了我Xamarin填坑的背景,大概聊了聊第一步环境配置,第二步创建项目和开发框架选择.如果有一个可用的梯子,这部分基本不会出错. 接下来就具体聊一聊写代码的过程中遇到的一些事儿. 第三步是码 ...