分析函数-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;
举报

相关文章推荐

rank,dense_rank,row_number使用和区别

rank,dense_rank,row_number区别 一:语法(用法):      rank() over([partition by col1] order by col2)       ...

Oracle分析函数KEEP、DENSE_RANK的使用

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

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

oracle 分析函数Rank, Dense_rank, row_number

目录 =============================================== 1.使用rownum为记录排名 2.使用分析函数来为记录排名 3.使用分析函数为记录进行分...

oracle分析函数Rank, Dense_rank, row_number

原文地址:http://www.cnblogs.com/wuyisky/archive/2010/02/24/oracle_rank.html 分析函数2(Rank, Dense_rank,...

oracle分析函数Rank, Dense_rank, row_number

目录 =============================================== 1.使用rownum为记录排名 2.使用分析函数来为记录排名 3.使用分析函数为记...

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

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

oracle分析函数Rank, Dense_rank, row_number

一、使用rownum为记录排名:在前面一篇《Oracle开发专题之:分析函数》,我们认识了分析函数的基本应用,现在我们再来考虑下面几个问题:①对所有客户按订单总额进行排名 ②按区域和客户订单总额进行...

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

KEEP (DENSE_RANK FIRST/LAST)

分析函数2(Rank, Dense_rank, row_number) 【转】

目录 =============================================== 1.使用rownum为记录排名 2.使用分析函数来为记录排名 3.使用分析函数为记录进行分...

oracle分析函数Rank, Dense_rank, row_number

目录 =============================================== 1.使用rownum为记录排名 2.使用分析函数来为记录排名 3.使用分析函数为记录进行分...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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