求助,oracle 过滤代码,怎么写?谢谢!

pargy 发布于 2018/08/09 17:00
阅读 129
收藏 0

求助,怎么写过滤,才能对下面的基础表,按 以下规则实现:某一个人,如果有过修改记录的,不管中途修改过几次,则只保留最早的一次原始记录。如果未曾有过修改记录,则就留下本次的数据记录。

实现以后,留下的,张三 应该是20170601的三条记录,李四应该就是未修改的两条记录。谢谢!

姓名 类型 日期 种类 数量 备注
XM LX RQ ZL SL BZ
张三 A 20170601 XX01 88 修改过
张三 B 20170601 XX02 53 修改过
张三 C 20170601 XX03 77 修改过
张三 A 20170901 XX01 87 修改过
张三 B 20170901 XX02 50 修改过
张三 C 20170901 XX03 70 修改过
张三 A 20180601 XX01 86  
张三 B 20180601 XX02 53  
张三 C 20180601 XX03 72  
李四 A 20170303 XX03 90  
李四 B 20180303 XX04 65  

 

加载中
0
魔力猫
魔力猫

窗口函数

魔力猫
魔力猫
回复 @pargy : 如果是你的表的数据真是你写的这样,选择备注字段过滤其实就完全可以了。窗口函数则是rank()over(),然后过滤你需要的数量。
p
pargy
请问,该怎么写代码?
0
空如此生1
空如此生1

根据人名,日期分组,取最新的一条就可以了啊

p
pargy
请问,这应该是取出来三条数据哦
返回顶部
顶部