`
vortexchoo
  • 浏览: 64306 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

ORCL查询----第N

    博客分类:
  • orcl
阅读更多
<!--摘要-->

例如上表(stu)中显示的内容,需要查询sma列第三高的SQL语句如下 select a.* from (select rank() over(order by sma desc) as rk,stu.* from stu)a where a.rk=3; 查询结果如下 通过浏览全表不难发现,在表中sma值第三高的为20,并且不只是一个。结果显示正确。 rank() 针对over()函数中的排列,排序顺序产生对应over规则的的阶层,如果只执行 select rank() over(order by sma desc) as rk,stu.* from stu,那么结果集如下。 发现第一列也就是RK(rank产生阶层的列)已经针对over()函数中的条件产生了阶层值,我们只需要取出对应阶层值的数据即可。无需关心重复问题。 如果不考虑重复,只考虑是第几个 select a.* from (select row_number() over(order by sma desc) as rk,stu.* from stu)a where a.rk=3; select * from(select t.*,rownum nu from (select * from stu order by sma)t)e where e.nu=3; 两种写法都OK,第一种会更效率、

查看原图<!--如果有语音信息,显示数量-->
<!--详情-->
图片

例如上表(stu)中显示的内容,需要查询sma列第三高的SQL语句如下

select a.* from (select rank() over(order by sma desc) as rk,stu.* from stu)a where a.rk=3;

查询结果如下

图片
通过浏览全表不难发现,在表中sma值第三高的为20,并且不只是一个。结果显示正确。

 

rank() 针对over()函数中的排列,排序顺序产生对应over规则的的阶层,如果只执行

select rank() over(order by sma desc) as rk,stu.* from stu,那么结果集如下。

图片发现第一列也就是RK(rank产生阶层的列)已经针对over()函数中的条件产生了阶层值,我们只需要取出对应阶层值的数据即可。无需关心重复问题。

如果不考虑重复,只考虑是第几个

select a.* from (select row_number() over(order by sma desc) as rk,stu.* from stu)a where a.rk=3;

 select * from(select t.*,rownum nu from (select * from stu order by sma)t)e where e.nu=3;

两种写法都OK,第一种会更效率

分享到:
评论

相关推荐

    oracle rac日常基本维护命令

    $ srvctl status instance -d orcl -i orcl2 Instance orcl2 is running on node linux2 在数据库全局命名服务的状态 $ srvctl status service -d orcl -s orcltest Service orcltest is running on instance(s)...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm sqlplus安装包集合

    ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = *IP*)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = *SID*) ) ) 1.5 配置环境变量 #vim ~/.bashrc --根目录下为全局...

    RAC常用命令介绍

    srvctl status instance -d orcl -i orcl1/orcl2 在数据库全局命名服务的状态: srvctl status service -d orcl -s orcltest 特定节点应用程序的状态: srvctl status nodeapps -n linux1 srvctl status nodeapps -n...

    linux,IBM安装oracle RAC详细步骤

    详解介绍linux安装RAC,升级 节点1,2应用状态 ...srvctl status nodeapps -n racl srvctl status nodeapps -n rac2 srvctl status asm -n rac1 srvctl status database -d orcl srvctl status service -d orcl ...

    oracle 查询列最大值

    oracle 查询列最大值,例如有n例值,但是要找出这些列中的最大值。

    数据库建库指令

    define newtablespace=NNC_INDEX01; --定义表空间文件路径 此处请务必保证正确 文件名可以自行修改 define newpath='d:\\oracle\\jyzx.dbf'; /*创建用户并分配权限 在有系统用户登录的情况下 才能进行*/ create ...

    安装/升级Oracle遇到ORA-12514问题

    打开cmd命令,输入tnsping orcl ,正常情况下是这样显示的: 下面会显示监听器配置文件的路径及配置信息。如果不能出现监听器信息,可以输人lsnrctl status 命令查看监听器状态: 根据上个图片显示的监听程序参数...

    oracle详解

    对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具。下面说明一下EXP/IMP的使用。  如何使exp的帮助以不同的字符集显示...

    ORCALE语句大全

    导入表的结构 imp userid=scott/orcl@orcl tables=emp file=d:\emp.dmp rows=n log=d:\empimp.log 导入数据 如果对象(如比表)已经存在可以只导入表的数据 imp userid=scott/orcl@orcl tables=emp file=d:\emp....

    Oracle安装单机后自启动参数配置.txt

    export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin ORA_OWNR="oracle"  # if the executables do not exist -- display error if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] then echo ...

    qc安装总结

    sid=orcl&lt;/DbUrl&gt;&lt;NativeAuthentication&gt;N&lt;/NativeAuthentication&gt;&lt;DbType&gt;oracle&lt;/DbType&gt;&lt;DbName&gt;qcsiteadmin_db&lt;/DbName&gt;&lt;DefaultUserPassword&gt;TWO:19-7-126-7-83-166-208-111&lt;/DefaultUserPassword&gt;&lt;/...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    第三章 Sql查询与函数 一、 SQL概述 SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。  SQL...

    jsp+oracle

    lines terminated by '\r\n'; SQL server命令行下指令: create table customer( customerId int not null identity(1,1) PRIMARY KEY, name nvarchar(50) not null, address nvarchar(300), zipCode nvarchar(25),...

    jpivot学习总结.doc

    &lt;jp:mondrianQuery dataSource="" id="query01" jdbcDriver="oracle.jdbc.driver.OracleDriver" jdbcUrl="jdbc:oracle:thin:ngykt/ngyktadmin@172.16.46.241:1521:orcl10" catalogUri="/WEB-INF/queries/feeSchema....

    Oracle触发器表发生了变化 触发器不能读它的解决方法(必看)

    CREATE or replace TRIGGER T_userupdateT BEFORE update ON T_user REFERENCING OLD AS old NEW AS N_ROW FOR EACH ROW DECLARE U_xtfidemp1 varchar(36); u_xtempcode1 varchar(20); u_xtempcodeCount int:=0; ...

    Linux下设置每天自动备份数据库的方法

    export ORACLE_BASE=/home/nnc_db/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=orcl 环境变量就已经找到了! 二.编辑备份的脚本文件 vi ...

    tweetstream:流引擎,用于将推文实时获取到MongoDB中

    即:该应用可以基于一组代码(“ #ADBE”,“#NVDA”,“#ORCL”,...)收集和存储推文。 要求: tweepy pymongo Twitter Streaming API密钥 在本地安装的MongoDB 编辑中 该代码可以按原样使用,只需使用您的...

    hibernate.properties

    #hibernate.connection.url jdbc:oracle:thin:@localhost:1521:orcl #hibernate.connection.url jdbc:oracle:thin:@localhost:1522:XE ## PostgreSQL #hibernate.dialect org.hibernate.dialect....

Global site tag (gtag.js) - Google Analytics