oracle rank函数公式的含义怎么用

数据库(27)
rank() over (partition by xx order by xx)
--1. partition by用于给结果集分组,如果没有指定,则把整个结果集作为一个分组
--2. rank是在每个分组内部进行排名的
例子: 查询emp表中每个部门中工资前3名的员工信息
(SELECT e.*, rank() over (partition BY deptno order by sal) rk FROM emp e
WHERE t1.rk&=3;
使用rank()函数调优的案例:
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:614319次
积分:6323
积分:6323
排名:第4096名
原创:119篇
转载:47篇
评论:80条
(4)(2)(3)(1)(6)(3)(2)(3)(1)(2)(1)(4)(3)(12)(4)(9)(5)(6)(1)(8)(6)(3)(17)(8)(18)(2)(1)(3)(4)(1)(5)(2)(1)(1)(1)(2)(2)(4)(2)(5)(1)(1)> rank函数
SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较,排名函数是SQL Server2005新加的
[oracle]常用函数-rank。-- 已知:两种排名方式(分区和不分区): 使用和不使用partition-- 两种计
1 NTILE作用是什么?2 按照pv降序排列,生成分组内每天的pv名次可使用哪个窗口函数?3 RANK
继续介绍几个序列函数:
NTILE,ROW_NUMBER,RANK和DENSE_RANK
环境信息:
Hive版本为apache-hive-0
两个序列分析函数不是很常用,这里也介绍一下。
环境信息:
Hive版本为apache-hive-0 14 0
一、需求之前sql server 的排名函数用得最多的应该是RoW_NUMBER()了,我通常用ROW_NUMBER() + CTE 来
SQL Server获得排名或排序的函数有如下几种:
1、Rank:在结果集中每一条记录所在的排名位
-- =============================================
-- Author:
-- Create date:
-- Description: ROWNUMB
从SQL Server2005开始,提供了4个排名函数,分别是:ROW_NUMBER、RANK、DENSE_RANK和NTILE。ROW_NUMBER
从SQL Server2012开始,提供了四个排名分布函数,包括PERCENT_RANK、CUME_DIST、PERCENTILE_CONT和PERCEN
可以用row_number函数实现
SELECT *,row_number() OVER(ORDER BY score(列名) DESC) AS rank
row_number() over(partition by a order by b) order_id
dense_rank() over(partition by a order by
b) order_i
四个排名函数的区别:
返回结果集的分区内每行的排名。行的排名是相关行之前的
内容摘要: Transact-SQL提供了4个排名函数: RANK(),DENSE_RANK(),ROW_NUMBER(),NTILE(),下文是对这4个
大部分数据库都提供了窗口函数,比如RANK,ROW_NUMBER等等。 MySQL 这方面没有直接提供,但是
SQL SERVER中CUME_DIST和PERCENT_RANK函数
CUME_DIST和PERCENT_RANK函数
CUME_DIST,计算某个&
SQL SERVER排名函数RANK,DENSE_RANK,NTILE,ROW_NUMBER
本文意于用实例数据帮助理解SQL
1 rank函数
rank计算一组& 20540;的排名,返回数字类型。排名可能是不连续。如果有5人,
oracle的几个分析函数1. 自动汇总函数rollup,cube,2. rank 函数, rank,dense_rank,row_number3. lag,lead函数4
Oracle over函数用法rank ( ) over ( [query_partition_clause] order_by_clause )dense_rank ( ) over( [query_partition_c
MySQL数据库多种安装方法及企业级安装实践!
Oracle 介绍Oracle Database,又名Oracle RDBMS,或简称Oracle是甲骨文公司的一款关系数据库管理系
一台电脑上同启动两个Tomcat的方式,windows Linux配置。安装两个jdk,一个JDK路径在:C:
C++文件流状态的判别与定位:文件流状态的判别,可以用文件流对象的下列成员函数来判别
Linux内核分析(九)——总结篇。CPU将内存中的代码和数据读取到自己的寄存器中,再根据一
SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较,排名函数是SQL Server2005新加的
[oracle]常用函数-rank。-- 已知:两种排名方式(分区和不分区): 使用和不使用partition-- 两种计
sybase数据库分页。Sybase使用rank() over(order by id)ret的方式分页,这种方式在数据量达到40W条的
比赛的时候过了3题的pretest,结果systest怒跪2题。。rank几乎垫底。但是这场题目确实比较简
热门文章热门标签
03月18日 |
03月18日 |
03月18日 |
03月18日 |
03月18日 |
03月18日 |
03月18日 |
03月18日 |&&&&&&&&&&&&&
这几天写一个报表的页面,从很恶心的数据结构中做一个聚合函数的查询,结构大概是这个样子的:
所以有:对数据group by t.id,t.name.t.course
这样三层排序,然后用函数去取值。
decode(feildname,'Match_value','value1','value2') & -- 用字段名称去跟Match_value做对比,对比成功,返回value1 &否则返回 value1&
这里把decode()放在group by 的select内部,同聚合函数一起使用,计算对应值。
很明显,这里得到的数据结构并不是我想要的样子,但是以目前水平暂时只能做到这里了。后边的放在js里处理的。
排名函数:dense_rank
这个用法其实也没太搞明白,应该是将数据集根据条件排序,但是存在排序的排名方式,这个dense_rank还有rank()和row_number()三个函数不同之处见:
下边贴上测试用的所有代码:
表的创建修改,插入数据。
6 create table KECHENG
VARCHAR2(20),
VARCHAR2(20),
examtime DATE,
VARCHAR2(50)
15 tablespace THRONESPACE
pctfree 10
initrans 1
maxtrans 255
initial 64K
minextents 1
maxextents unlimited
33 insert into KECHENG (id, name, course, score, examtime, test1)
34 values (1, '张三', '语文', 657, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
35 insert into KECHENG (id, name, course, score, examtime, test1)
36 values (2, '张三', '数学', 476, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22ddd');
37 insert into KECHENG (id, name, course, score, examtime, test1)
38 values (2, '张三', '历史', 564, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
39 insert into KECHENG (id, name, course, score, examtime, test1)
40 values (2, '李四', '语文', 534, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
41 insert into KECHENG (id, name, course, score, examtime, test1)
42 values (2, '李四', '数学', 81, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
43 insert into KECHENG (id, name, course, score, examtime, test1)
44 values (2, '李四', '历史', 933, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
45 insert into KECHENG (id, name, course, score, examtime, test1)
46 values (3, '王五', '语文', 264, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
47 insert into KECHENG (id, name, course, score, examtime, test1)
48 values (3, '王五', '数学', 25, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
49 insert into KECHENG (id, name, course, score, examtime, test1)
50 values (3, '王五', '历史', 45, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
51 insert into KECHENG (id, name, course, score, examtime, test1)
52 values (2, '张三', '语文', 667, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
53 insert into KECHENG (id, name, course, score, examtime, test1)
54 values (1, '张三', '数学', 766, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
55 insert into KECHENG (id, name, course, score, examtime, test1)
56 values (2, '张三', '历史', 546, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
57 insert into KECHENG (id, name, course, score, examtime, test1)
58 values (2, '李四', '语文', 54, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
59 insert into KECHENG (id, name, course, score, examtime, test1)
60 values (1, '李四', '数学', 821, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
61 insert into KECHENG (id, name, course, score, examtime, test1)
62 values (2, '李四', '历史', 93, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
63 insert into KECHENG (id, name, course, score, examtime, test1)
64 values (3, '王五', '语文', 254, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
65 insert into KECHENG (id, name, course, score, examtime, test1)
66 values (3, '王五', '数学', 245, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
67 insert into KECHENG (id, name, course, score, examtime, test1)
68 values (3, '王五', '历史', 454, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
69 insert into KECHENG (id, name, course, score, examtime, test1)
70 values (1, '张三', '语文', 677, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
71 insert into KECHENG (id, name, course, score, examtime, test1)
72 values (1, '张三', '数学', 776, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
73 insert into KECHENG (id, name, course, score, examtime, test1)
74 values (1, '张三', '历史', 56, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
75 insert into KECHENG (id, name, course, score, examtime, test1)
76 values (2, '李四', '语文', 564, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
77 insert into KECHENG (id, name, course, score, examtime, test1)
78 values (1, '李四', '数学', 481, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
79 insert into KECHENG (id, name, course, score, examtime, test1)
80 values (1, '李四', '历史', 923, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
81 insert into KECHENG (id, name, course, score, examtime, test1)
82 values (3, '王五', '语文', 24, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
83 insert into KECHENG (id, name, course, score, examtime, test1)
84 values (3, '王五', '数学', 265, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
85 insert into KECHENG (id, name, course, score, examtime, test1)
86 values (3, '王五', '历史', 465, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
87 insert into KECHENG (id, name, course, score, examtime, test1)
88 values (1, '张三', '语文', 767, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
89 insert into KECHENG (id, name, course, score, examtime, test1)
90 values (1, '张三', '数学', 276, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
91 insert into KECHENG (id, name, course, score, examtime, test1)
92 values (1, '张三', '历史', 566, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
93 insert into KECHENG (id, name, course, score, examtime, test1)
94 values (2, '李四', '语文', 454, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
95 insert into KECHENG (id, name, course, score, examtime, test1)
96 values (2, '李四', '数学', 81, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
97 insert into KECHENG (id, name, course, score, examtime, test1)
98 values (2, '李四', '历史', 953, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
99 insert into KECHENG (id, name, course, score, examtime, test1)
<span style="color: #0 values (1, '王五', '语文', 244, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
<span style="color: #1 insert into KECHENG (id, name, course, score, examtime, test1)
<span style="color: #2 values (2, '王五', '数学', 425, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
<span style="color: #3 insert into KECHENG (id, name, course, score, examtime, test1)
<span style="color: #4 values (3, '王五', '历史', 45, to_date('<span style="color: #ff-:00', 'dd-mm-yyyy hh24:mi:ss'), '22');
<span style="color: #5 commit;
&查询用的sql
1 select t.id,
max(decode(t.course, '语文', score, 0)) yuwenmax,
min(decode(t.course, '语文', score, 0)),
round(avg(decode(t.course, '语文', score, 0)), 4),
max(decode(t.course, '历史', score, 0)),
min(decode(t.course, '历史', score, 0)),
round(avg(decode(t.course, '历史', score, 0)), 4),
<span style="color: #
max(decode(t.course, '数学', score, 0)),
<span style="color: #
min(decode(t.course, '数学', score, 0)),
<span style="color: #
round(avg(decode(t.course, '数学', score, 0)), 4),
<span style="color: #
decode(t.course,
<span style="color: #
'数学' ,min(t.score) KEEP(dense_rank first ORDER BY t.examtime),
<span style="color: #
as start_value,
--这里取起始值,结束值和增量
<span style="color: #
decode(t.course,
<span style="color: #
'数学' ,min(t.score) KEEP(dense_rank last ORDER BY t.examtime),
<span style="color: #
0) as end_value,
<span style="color: #
decode(t.course,
<span style="color: #
'数学' ,min(t.score) KEEP(dense_rank last ORDER BY t.examtime),
<span style="color: #
<span style="color: #
decode(t.course,
<span style="color: #
'数学' ,min(t.score) KEEP(dense_rank first ORDER BY t.examtime),
<span style="color: #
0) as minus_value
<span style="color: #
from kecheng t
<span style="color: #
group by t.id, t.name, t.course
<span style="color: #
order by t.id,
<span style="color: #
&posted on
阅读(...) 评论()Oracle排名函数(Rank)实例详解_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Oracle排名函数(Rank)实例详解
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢07-0507-0507-0507-0507-0507-0507-0507-0507-0507-05最新范文01-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-01

我要回帖

更多关于 gp数据库rank 的文章

 

随机推荐