分析函数-DENSE_RANK

转载 2016年09月30日 12:01:17

Analytic Syntax(分析语法)

Aggregate Syntax(聚集语法)

Purpose

DENSE_RANK computes the rank of a row in an ordered group of rows and returns the rank as a NUMBER. The ranks are consecutive(连续的) integers beginning with 1. The largest rank value is the number of unique values returned by the query. Rank values are not skipped in the event of ties(结). Rows with equal values for the ranking criteria(条件) receive the same rank. This function is useful for top-N and bottom-N reporting.

This function accepts as arguments any numeric datatype and returns NUMBER.

  • As an aggregate function, DENSE_RANK calculates the dense(密集的) rank of a hypothetical(假设的) row identified by the arguments of the function with respect to a given sort specification(规格). The arguments of the function must all evaluate to constant expressions within each aggregate group, because they identify a single row within each group. The constant argument expressions and the expressions in the order_by_clause of the aggregate match by position. Therefore, the number of arguments must be the same and types must be compatible.

  • As an analytic function, DENSE_RANK computes the rank of each row returned from a query with respect to the other rows, based on the values of the value_exprs in the order_by_clause.

Analytic Example

返回各部门工资排名前三位的员工(6.5)

SELECT deptno,ename,sal FROM(
    SELECT deptno,ename,sal,
    DENSE_RANK() OVER(PARTITION BY deptno ORDER BY sal DESC) AS dense_rank -- DENSE_rank分析函数,PARTITION分组子句
    FROM scott.emp ORDER BY 1,3 DESC
) WHERE dense_rank<=3;

相关文章推荐

python keras (一个超好用的神经网络框架)的使用以及实例

先吐槽一下这个基于theano的keras有多难装,反正我是在windows下折腾到不行,所以自己装了一个双系统。这才感到linux系统的强大之初,难怪大公司都是用这个做开发,妹的,谁用谁知道啊!!!...
  • Star_Bob
  • Star_Bob
  • 2015年09月20日 17:18
  • 58867

sklearn浅析(二)——Generalized Linear Models之一

线性回归通过最小化均方误差来拟合一个线性模型,属于监督学习,对于给定的数据集X和类标签y,通过最小二乘法求得模型参数为: w = (XTX)-1XTy...

networkx使用笔记(三)之好汉篇Scipy(3)

主要利用Scipy进行一些曲线的拟合,基本会用到对线性曲线的拟合和非线性曲线的拟合。 1.利用最小二乘进行拟合       在Scipy的optimize子包中,可以利用leastsq进行最小二乘...

SQL 分析函数之KEEP (DENSE_RANK FIRST/LAST)

KEEP (DENSE_RANK FIRST/LAST)

Oracle分析函数KEEP、DENSE_RANK的使用

最近在工作中,碰到一个问题,后来

oracle分析函数系列之rank,dense_rank,row_number:实现排名策略

Rank,Dense_rank,Row_number函数为每条记录产生一个从1开始至N的自然数,N的值可能小于等于记录的总数。这3个函数的唯一区别在于当碰到相同数据时的排名策略。 ①ROW_NU...

数据库SQL中对查询结果排序排列序号编号,Oracle分析函数 rank,dense_rank,row_number使用和区别

Oracle从8i开始就提供了3个分析函数:rank,dense_rank,row_number (1)Rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,    ...

分析函数(ROW_NUMBER、RANK、DENSE_RANK)的用法

ROW_NUMBER() Row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。 说明:返回结果集分区内行的序列号,每个分区的第一行从 1 开始。 语法...

oracle 分析函数Rank, Dense_rank, row_number

目录 =============================================== 1.使用rownum为记录排名 2.使用分析函数来为记录排名 3.使用分析函数为记录进行分...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分析函数-DENSE_RANK
举报原因:
原因补充:

(最多只允许输入30个字)