项目组使用oracle数据库,现在有如下的数据,表名称为TEST:

现在想取按照集团分组后,取出最新时间的那一行数据,也就是想取如下标记的数据集合:

解决方法:
SELECT a."ID",a."BUMENG_ID",a."GONGSI_ID",a."TIME"
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY GONGSI_ID ORDER BY TIME DESC) rn,
TEST.*
FROM TEST) a where a.rn=1
执行结果:

本文介绍如何在Oracle数据库中,针对特定字段进行分组并选取每组中时间最新的记录。通过使用ROW_NUMBER()窗口函数配合子查询,实现高效的数据筛选。
677

被折叠的 条评论
为什么被折叠?



