`

rank,取最新版本

 
阅读更多

现在有3个字段,

1个是工程id,

2是版本号version 1.0,2.0。。。

3是金额money;

 

现在要 分3列,显示,分别取最新三个版本的钱,如果没有最新版本。为空

显示结果如下;

 

 --1分组排名,降序,(取最新版本为1);
SELECT RANK() OVER(PARTITION BY ID ORDER BY VERSION DESC) RAN,
       ID,
       VERSION,
       MONEY
  FROM MY_RANK

--2取最大的三个版本
  SELECT * FROM (
  SELECT RANK() OVER(PARTITION BY ID ORDER BY VERSION DESC) RAN,
       ID,
       VERSION,
       MONEY
  FROM MY_RANK ) WHERE RAN<4
 
  --3分组
  SELECT ID,DECODE(RAN,1,MONEY),DECODE(RAN,2,MONEY),DECODE(RAN,3,MONEY) FROM (
  SELECT RANK() OVER(PARTITION BY ID ORDER BY VERSION DESC) RAN,
       ID,
       VERSION,
       MONEY
  FROM MY_RANK ) WHERE RAN<4
 
--4求和
  SELECT ID,SUM(T1) MONEY1,SUM(T2) MONEY2,SUM(T3) MONEY3 FROM(
  SELECT ID,DECODE(RAN,1,MONEY) T1,DECODE(RAN,2,MONEY) T2,DECODE(RAN,3,MONEY) T3 FROM (
  SELECT RANK() OVER(PARTITION BY ID ORDER BY VERSION DESC) RAN,
       ID,
       VERSION,
       MONEY
  FROM MY_RANK ) WHERE RAN<4)
  GROUP BY ID

 

 以上按顺序 到最后一句就是结果了

 

 

比如数据:1,2,2,4,5,6.。。。。这是rank()的形式

                    1,2,2,3,4,5,。。。。这是dense_rank()的形式

                    1,2,3,4,5,6.。。。。。这是row_number()涵数形式

分享到:
评论

相关推荐

    Python-summa用于在Python3中进行文本摘要和关键字提取的TextRank实现

    `summanlp-textrank-6844bbe` 这个文件可能是`summa`库的一个特定版本,其中`6844bbe`可能是Git仓库中某个提交的哈希值,表示这个版本可能包含了一些优化或改进,比如针对相似性函数的优化,这有助于提升摘要质量和...

    rank_bm25:BM25算法变体的集合

    安装安装此软件包的最简单方法是通过pip ,使用pip install rank_bm25 如果要确保获得最新版本,可以使用以下方法直接从github安装: pip install git+ssh://git@github.com/dorianbrown/rank_bm25.git用法在此示例...

    超实用CEO权力指标计算Stata代码(2008-2022年数据)

    当前为最新2022年版本 CEO权力测度 权力维度 操作指标符号 指标解释 组织权力 Dual 是否兼任董事长,是取 1,否取0组织权力 Insider-director 是否是公司内部董事,是取1 ,否取0 专家权力 Rank 是否具有高职称...

    mysql去重查询的三种方法

    总的来说,这三种方法都可以实现MySQL数据库的去重查询,具体选择哪种方法取决于你的需求和数据库版本。DISTINCT和GROUP BY适用于简单场景,而窗口函数ROW_NUMBER()(或其类比方法)在处理复杂情况,如需要保持特定...

    基于python 等频分箱qcut问题的解决

    在旧版本的Python中,可以使用自定义的`Rank_qcut()`函数来代替。这个函数首先计算分位数,然后使用`rank()`函数获取每个值的百分位数,最后通过`argmax()`找到每个值应归属的区间。`Discretization_EqualFrequency...

    matlab终止以下代码-LowRankApprox.jl-898213cb-b102-5a47-900c-97e73b919f73:最后由@

    该Julia软件包基于自适应随机矩阵草绘中的一些最新技术,为BLAS / LAPACK兼容矩阵提供了快速的低秩近似算法。 当前实现的算法包括: 素描方法: 高斯随机 随机子集 二次采样随机傅里叶变换 稀疏随机高斯 局部测距仪 ...

    二维傅里叶分解matlab代码-LowRankApprox.jl:Julia中的快速低秩矩阵逼近

    该Julia软件包基于自适应随机矩阵草绘中的一些最新技术,为BLAS / LAPACK兼容矩阵提供了快速的低秩近似算法。 当前实现的算法包括: 素描方法: 高斯随机 随机子集 二次采样随机傅里叶变换 稀疏随机高斯 局部测距仪 ...

    Ooracle 分析函数的使用实例

    本文将通过具体示例,深入探讨Oracle分析函数的几个关键应用,包括:汇总函数ROLLUP和CUBE、排名函数RANK和DENSE_RANK、LAG和LEAD函数、SUM和AVG的移动计算、RATIO_TO_REPORT报表处理函数以及FIRST和LAST取基数函数...

    oracle分析函数的使用

    分析函数在Oracle 8i版本中首次引入,极大地简化了之前需要通过自连接、子查询或存储过程来完成的复杂分析。 1. **自动汇总函数 (ROLLUP, CUBE)** - `ROLLUP` 用于创建多级汇总,它会生成一个从最细粒度级别到最粗...

    IPV6使用方法及网络资源简介.doc

    IPv6(Internet Protocol Version 6)是互联网协议的最新版本,它设计用于替代IPv4,以解决IPv4地址空间即将耗尽的问题。IPv6引入了更大的地址空间,提供128位的地址长度,理论上可以支持的设备数量几乎是无限的。 ...

    Oracle 分析函数的使用.doc

    这些函数引入于Oracle 8i版本,显著简化了复杂查询的编写,并提高了执行效率。以下是对分析函数的详细介绍: 1. **自动汇总函数:rollup, cube** - `ROLLUP` 用于生成分组的层次结构,它从最细粒度的分组开始,...

    线性代数试题,同济大学版本

    1. 矩阵运算:题目涉及到矩阵的转置(AT)、伴随矩阵(A*)、秩(Rank(A))和行列式(|A|)。例如,题目要求计算伴随矩阵的逆的行列式,这需要理解伴随矩阵与原矩阵行列式的性质,即|A*| = |A|^(-1)。 2. 方程组的...

    Oracle 分析函数

    Oracle 分析函数是数据库管理中的一个强大工具,它在Oracle 8i版本中被引入,极大地简化了数据处理和分析的复杂性。分析函数的主要优点在于它们能够对数据集进行行级别的操作,同时考虑行的相对位置和其他行的信息,...

    MySQL8官方文档 (revision: 67249).pdf

    值得注意的是,某些特性可能并不包含在每个版本的 MySQL 8.0 中,这取决于你所获得的授权许可。因此,要了解你的许可证包含了哪些特性,你应该查阅你的 MySQL 8.0 许可协议或直接联系你的 Oracle 销售代表。 关键...

    oracle函数大全

    `SUM()`函数的分析版本`SUM() OVER (ORDER BY ...)`可以实现连续求和。例如,你可以计算每个分组内的累计销售额,或者在没有分组的情况下对所有数据进行累计求和。 2. **排序函数**: Oracle提供了`RANK()`, `...

    oracle数据库试卷.pdf

    在Oracle中,BLOB数据类型的最大大小取决于数据库版本和配置,通常可以达到4GB。 2. 数据传输工具:Oracle提供了多种工具来在不同的硬件平台间传递数据,例如Export和Import工具,它们能够导入和导出数据库对象,...

    Turnitin英文论文检测系统使用教程和说明

    至于论文的引用部分是否需要检测,这取决于学校的要求。引用通常不会被视为抄袭,但如果包括在内,可能导致较高的抄袭率。如果学校要求提交包含引用的完整版本,那么在预检测时未包含引用,而在最终提交时添加,可能...

    mysql5.7和mysql8

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其版本更新带来了许多新特性和性能改进。...选择哪个版本取决于具体应用场景和需求,但对于新的项目,通常推荐使用最新稳定版以获得最新的功能和安全性改进。

    百度-SPO提取1

    通过这两个链接,你可以找到Python和Java版本的实现,它们提供了分词、关键词抽取等服务。 2. **TF-IDF**:Term Frequency-Inverse Document Frequency是一种经典的文本特征权重计算方法,用于衡量一个词对于文档的...

    计算机二级excel中常考公式及讲解.docx

    11. **RANK函数**: 排位函数有两个版本:=RANK.EQ(Number, ref, [order]) 返回实际排位,如果有多个相同值,RANK.EQ会返回相同的排名;=RANK.AVG(Number, ref, [order]) 当遇到相同值时,RANK.AVG会平均分配排名。 ...

Global site tag (gtag.js) - Google Analytics