oracle里面查找重复项,Oracle查找重复记录中最大值的记录
分析函数over是Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。PARTITION BY 开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化,有一个表bat22mat12id mat12name bat22id...
分析函数over是Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。
PARTITION BY 开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化,
有一个表bat22
mat12id mat12name bat22id price
1101 XXX 200701010111 0.8
1101 XXX 200701010103 0.9
1101 XXX 200701010133 0.8
1102 YYY 200701010112 0.9
1103 ZZZ 200701010113 0.1
我想获得如下结果,唯一的mat12id,如果有重复记录的取最大值那个.
mat12id mat12name bat22id price
1101 XXX 200701010133 0.8
1102 YYY 200701010112 0.9
1103 ZZZ 200701010113 0.1
select a.*
from
(select bat22.*,
row_number() over(partition by MAT12ID, MAT12NAME order by bat22id desc) rn
from bat22) a
where a.rn=1;
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)