- 浏览: 1294870 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (471)
- Database (29)
- Java (47)
- Frameworks (9)
- JavaScript (30)
- Others (27)
- ExtJS (26)
- Linux (49)
- Windows (11)
- Web (8)
- Ubunt (9)
- Shell (21)
- MySQL (26)
- Redis (9)
- Git (6)
- Maven (29)
- Python (3)
- Nginx (10)
- Nodejs (7)
- Network (1)
- GO (2)
- Docker (36)
- MongoDB (5)
- Intellij idea (7)
- Ruby (3)
- Weblogic (3)
- CSS (15)
- VMware (3)
- Tomcat (6)
- Cache (2)
- PHP (8)
- Mac (7)
- jQuery (3)
- Spring (8)
- HTML5 (2)
- Kubernetes (8)
最新评论
-
masuweng:
Intellij idea 主题下载网址 -
mimicom:
还有一个情况, 也是连不上 2018-05-06T06:01: ...
docker-compose 部署shipyard -
lixuansong:
put()方法调用前必须先手动调用remove(),不然不会实 ...
JavaScript创建Map对象(转) -
jiao_zg22:
方便问下,去哪里下载包含Ext.ux.TabCloseMenu ...
Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例 -
netwelfare:
对于基本类型的讲解,文章写的有点简单了,没有系统化,这篇文章介 ...
Java 基础类型范围
rank() function in application
场景:使用oracle scott/tiger 登录 使用emp表
1)取出各部门工资小于各部门平均工资80%的员工
2)取出各部门工资排名第二名的员工
rank() 函数返回结果集分区内指定字段的值的排名,指定字段的值的排名是相关行之前的排名加一。
语法:
RANK() OVER([<partiton_by_clause>]<order by clause>)
partition_by_clause 将from子句生成的结果集划分为应用到RANK函数的分区。
Order_by_clause确定将RANK值应用到分区中的行时所使用的顺序。
表结构:
-- Create table create table EMP ( EMPNO NUMBER(4) not null, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) ) tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ); -- Create/Recreate primary, unique and foreign key constraints alter table EMP add constraint PK_EMP primary key (EMPNO) using index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ); alter table EMP add constraint FK_DEPTNO foreign key (DEPTNO) references DEPT (DEPTNO);
抽取emp数据:
prompt PL/SQL Developer import file prompt Created on 2011年5月27日星期五 by David set feedback off set define off prompt Disabling foreign key constraints for EMP... alter table EMP disable constraint FK_DEPTNO; prompt Loading EMP... insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7369, 'SMITH', 'CLERK', 7902, to_date('17-12-1980', 'dd-mm-yyyy'), 800, null, 20); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7499, 'ALLEN', 'SALESMAN', 7698, to_date('20-02-1981', 'dd-mm-yyyy'), 1600, 300, 30); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7521, 'WARD', 'SALESMAN', 7698, to_date('22-02-1981', 'dd-mm-yyyy'), 1250, 500, 30); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7566, 'JONES', 'MANAGER', 7839, to_date('02-04-1981', 'dd-mm-yyyy'), 2975, null, 20); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7654, 'MARTIN', 'SALESMAN', 7698, to_date('28-09-1981', 'dd-mm-yyyy'), 1250, 1400, 30); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7698, 'BLAKE', 'MANAGER', 7839, to_date('01-05-1981', 'dd-mm-yyyy'), 2850, null, 30); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7782, 'CLARK', 'MANAGER', 7839, to_date('09-06-1981', 'dd-mm-yyyy'), 2450, null, 10); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7788, 'SCOTT', 'ANALYST', 7566, to_date('19-04-1987', 'dd-mm-yyyy'), 3000, null, 20); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7839, 'KING', 'PRESIDENT', null, to_date('17-11-1981', 'dd-mm-yyyy'), 5000, null, 10); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7844, 'TURNER', 'SALESMAN', 7698, to_date('08-09-1981', 'dd-mm-yyyy'), 1500, 0, 30); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7876, 'ADAMS', 'CLERK', 7788, to_date('23-05-1987', 'dd-mm-yyyy'), 1100, null, 20); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7900, 'JAMES', 'CLERK', 7698, to_date('03-12-1981', 'dd-mm-yyyy'), 950, null, 30); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7902, 'FORD', 'ANALYST', 7566, to_date('03-12-1981', 'dd-mm-yyyy'), 3000, null, 20); insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7934, 'MILLER', 'CLERK', 7782, to_date('23-01-1982', 'dd-mm-yyyy'), 1300, null, 10); commit; prompt 14 records loaded prompt Enabling foreign key constraints for EMP... alter table EMP enable constraint FK_DEPTNO; set feedback on set define on prompt Done.
解决方案 SQL:
1)
select a.deptno,a.ename,a.sal,b.avgsal from emp a, (select t.deptno, avg(t.sal) * 0.8 as avgSal from emp t group by t.deptno) b where a.deptno = b.deptno and a.sal < b.avgSal order by a.deptno;
或者:
select a.deptno,a.ename,a.sal,a.avgsal from (select t.*, avg(t.sal) over(partition by t.deptno) * 0.8 as avgSal from emp t) a where sal < avgsal
结果:
1 10 MILLER 1300.00 2333.33333333333
2 20 SMITH 800.00 1740
3 20 ADAMS 1100.00 1740
4 30 WARD 1250.00 1253.33333333333
5 30 MARTIN 1250.00 1253.33333333333
6 30 JAMES 950.00 1253.33333333333
2)
select b.deptno,b.ename,b.sal from (select a.*, rank() over(partition by a.deptno order by a.sal desc) ra from emp a) b where b.ra = 2;
结果:
1 10 CLARK 2450.00
2 30 ALLEN 1600.00
其中部门号为20的部门工资中有两个并列第一,所以没有第二名。
发表评论
-
Srping配置阿里数据库连接池(Druid)
2015-10-19 13:49 2123Srping配置阿里数据库连接池(Druid) POM. ... -
Oracle 常用函数
2015-08-27 16:08 1133Oracle 常用函数 获取前10个小时的时间: sel ... -
Linux安装MYSQL(手工编译)
2015-08-02 14:22 3759Linux安装MYSQL(手工编译) 创建目录 ... -
Oracle 存储过程中打印SQL影响的行数
2015-07-07 11:41 1797Oracle 存储过程中打印SQL影响的行数 db ... -
更新多个字段的UPDATE语句
2015-06-19 16:18 4064更新多个字段的UPDATE语句 ... -
解决HSQL中java.lang.NoClassDefFoundError:java/sql/Savepoint错误
2011-07-16 09:35 1622解决HSQL中 java.lang.NoClassDefFo ... -
Oracle Statements
2011-05-23 09:33 680Oracle Statements --crea ... -
Each score of subjects is bigger than a number
2011-05-08 18:31 1334Each score of subjects is bigge ... -
DB2 Statements
2011-04-14 16:58 1214DB2 Statements 生成1-8之间的随机整数 ... -
数据表纵转横
2010-01-26 15:18 1944数据表纵转横 方法一: --创建函数与类型 cre ... -
Oracle优化器Optimizer详解(转)
2010-01-13 11:24 2466Oracle优化器Optimizer详解(转) ... -
PreparedStatement中setString方法的异常(转载)
2010-01-08 11:00 2185PreparedStatement中setString方法的异 ... -
oracle 实现 split 函数
2010-01-05 10:46 3098oracle 实现 split 函数 CREATE O ... -
row_number()over函数的使用(转)
2009-12-16 16:05 1980row_number()over函数的使用(转) ... -
Oracle随机函数
2009-11-25 18:05 3969Oracle随机函数 --创建55到100之间随机数( ... -
Oracle取整的函数
2009-11-25 18:05 2955Oracle取整的函数 1.取整(大) sel ... -
Oracle rownum使用经验总结
2009-11-25 17:38 1657Oracle rownum使用经验总 ... -
Oracle TIMESTAMP 的使用
2009-11-13 17:15 4251Oracle TIMESTAMP 的使用 TIMEST ... -
使用预编译语句设置null值(preparedStatement.setObject)
2009-10-22 16:40 3317使用预编译语句设置null值(preparedStatemen ... -
ORACLE 常用命令
2009-10-20 15:52 1426ORACLE 常用命令 1.用命令行执行一个.sq ...
相关推荐
Low-rank matrix recovery via smooth rank function and its application in image restoration
本文聚焦于自守形式的Rankin-Selberg L函数的中心值的稳定平均数。Paul Nelson的研究是继Michel-Ramakrishan在2007年的工作以及Feigon-Whitehouse在2008年的推广之后的进一步发展。本文提出了一系列新的变体,主要...
为了实现这一目标,DIMM(Dual In-line Memory Module,双列直插式内存模块)上的内存颗粒需要共同协作,将各自的数据位合并成完整的64位数据(word)。 #### 三、内存颗粒配置 DIMM上的每个内存颗粒提供的数据位...
在机器学习和推荐系统领域,Rank1和Rank5是评估模型性能的重要指标,尤其是在信息检索和推荐算法中。本文将详细解析如何使用Python编写代码来计算Rank1和Rank5,并结合给定的“案例38 计算rank1和rank5”的源码进行...
"web-rank.rar_In Time_rank_web rank" 这个压缩包文件很可能包含了一些关于网页实时排名算法的信息,特别是与时间相关的排名策略。"In Time rank" 可能指的是基于网页内容更新频率或时间的新鲜度排名,而 "web_rank...
【标题】"Solutions of Hackerrank challenges in various languages - .zip" 提供的是一个包含多种编程语言解冑 Hackerrank 挑战问题的资源包。Hackerrank 是一个著名的在线编码平台,它提供了丰富的算法和编程挑战...
《基于TextRank4ZH的中文文本处理技术》 在信息技术高速发展的今天,自然语言处理(Natural Language Processing, NLP)领域中的文本分析技术扮演着越来越重要的角色。TextRank4ZH,作为一个专门针对中文文本的工具...
RankSVM,全称为Rank Support Vector Machine,是一种用于处理排序问题的机器学习算法。它将传统的支持向量机(SVM)理论与排序任务相结合,旨在优化预测序列的全局顺序,而不仅仅是分类的准确性。在诸如信息检索、...
《改良的Rankin量表》是评估脑卒中患者康复情况的重要工具,主要用来衡量患者在脑卒中后的生活功能恢复程度。该量表通过六个等级对患者的状况进行评分,以确保不同观察者之间评估的一致性,减少误差。 1. **完全无...
《TextRank4ZH:中文文本处理的利器》 在信息技术高速发展的今天,自然语言处理(NLP)领域已经成为研究的热点。TextRank4ZH,正如其名,是针对中文文本的一种算法实现,它主要应用于关键词提取和摘要生成,是中文...
本资料包“Algorithm-HackerRank-Solutions-In-Scala.zip”则专门针对HackerRank平台上的算法挑战,通过Scala语言提供了解决方案。 HackerRank是一个在线平台,致力于提升程序员的技能,尤其是算法能力。它提供了...
TextRank是一种基于图的排序算法,最初应用于网页排名,但后来也被广泛用于文本处理领域,尤其是关键词抽取。这个“TextRank, TextRank算法提取关键词的Java实现.zip”压缩包文件包含了一个开源项目,名为“TextRank...
Hackerrank是一个全球性的技术招聘平台,它通过一系列的编程挑战和练习来帮助求职者在编码方面提高技能并为职场做好准备。本题解涉及了多个编程语言和算法的概念,下面我将从提供的文件内容中提炼出相关知识点。 ##...
ROW_NUMBER、RANK、DENSE_RANK 和 NTILE 排名函数 MS SQL 2005 中的排名函数包括 ROW_NUMBER、RANK、DENSE_RANK 和 NTILE,这四个函数可以有效地分析数据并提供排序值。下面将详细介绍每个函数的用法和示例。 一、...
近年来,稀疏表示(Sparse Representation)与低秩近似(Low-Rank Approximation)作为重要的信号处理特性,在图像处理、通信、计算机视觉、模式识别、雷达等领域得到了广泛应用。本文旨在综述稀疏表示与低秩近似...
通常,一个内存条上的物理BANK数量取决于其设计,例如,DDR3内存条可能有1个或2个RANK,而DDR4内存条可以有1到4个RANK。RANK的数量直接影响了内存条的最大容量和并发性能。 接着,我们探讨逻辑BANK。逻辑BANK是内存...
in matrix computation and analysis, but also is a powerful tool in ma- chine learning and modern data analysis. In this tutorial we first study the basic notion of SVD and then show the central role ...
Page Rank是Google搜索引擎算法的核心组成部分,它通过评估网页之间的链接关系来确定网页的重要性。这个概念由Google的创始人拉里·佩奇(Larry Page)和谢尔盖·布林(Sergey Brin)在1996年提出,是他们早期搜索...
低秩估计的介绍数据,对低秩估计的原理,算法和应用进行了介绍
summary = [s.content for s in tr4s.sentences] # 获取摘要句子 ``` 5. 输出结果: ```python print("关键词:", keywords) print("摘要:", summary) ``` TextRank4ZH不仅适用于新闻、论文等长文本,还可以应用...