oracle 表同一列只取最新一条数据写法

sql 复制代码
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,就是最新的一条数据

相关推荐
java修仙传几秒前
从手写 Redis 锁到 Redisson:我对分布式锁安全性的理解
java·数据库·redis·分布式
oh LAN5 分钟前
Windows 下 Redis 开机自启
数据库·windows·redis
2301_817672265 分钟前
mysql如何批量增加表的字段_脚本化DDL操作实践
jvm·数据库·python
专注VB编程开发20年17 分钟前
万能数据库格式转换,导入导出表格,主键索引
数据库
DaqunChen19 分钟前
mysql存储引擎性能基准测试_InnoDB与MyISAM对比指南
jvm·数据库·python
2301_7826591819 分钟前
CSS Flex布局中如何实现导航栏与Logo的左右分布_利用justify-content- space-between
jvm·数据库·python
InfinteJustice22 分钟前
CSS如何创建响应式导航栏菜单_结合Flexbox与媒体查询
jvm·数据库·python
粉嘟小飞妹儿24 分钟前
Python环境PyTorch分布式训练初始化失败_检查MASTER_ADDR与端口
jvm·数据库·python
粉嘟小飞妹儿25 分钟前
PHP怎么使用Eloquent Attribute Synthesis属性合成_Laravel多源数据融合【指南】
jvm·数据库·python
m0_6403093029 分钟前
用Symfony构建AI驱动的Web应用实战
jvm·数据库·python