oracle 表同一列只取最新一条数据写法
oracle 表同一列只取最新一条不同数据
·
select *
from (select t.*,
row_number() over(partition by 去重列名 order by 排序列名 desc) as rn
from 表名)
where rn=1
1.row_number() over(....):
为每条数据分配一个行号,1.2.3....这样的
2.partition by :
以某列作为分组,每个分组行号从1开始,往下递增
3.order by 排序列名
分组后,按自定义规则进行排序后再分配行号,这样取行号rn=1,就是最新的一条数据
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)