【oracle】分组求最新日期的数据

获取每个分组的最新记录

如果你想要的是每个分组(比如按客户ID分组)的最新记录,那么你可以使用窗口函数(如ROW_NUMBER())来实现:

sql 复制代码
SELECT * FROM (
    SELECT o.*,
           ROW_NUMBER() OVER(PARTITION BY customer_id ORDER BY order_date DESC) AS rn
    FROM orders o
) WHERE rn = 1;

这个查询为每个customer_id分组内的记录按照order_date降序排列,并使用ROW_NUMBER()为每个分组内的记录分配一个唯一的序号(在分组内最新的记录序号为1)。然后,外层查询通过WHERE rn = 1来选择每个分组内序号为1的记录,即每个客户的最新订单记录。

相关推荐
我的ID配享太庙呀1 小时前
Django 科普介绍:从入门到了解其核心魅力
数据库·后端·python·mysql·django·sqlite
不辉放弃2 小时前
kafka的消费者负载均衡机制
数据库·分布式·kafka·负载均衡
拉姆哥的小屋2 小时前
用 Flask 打造宠物店线上平台:从 0 到 1 的全栈开发实践
数据库·oracle·flask
liliangcsdn2 小时前
mac neo4j install & verifcation
数据库·neo4j
Cyanto3 小时前
MyBatis-Plus高效开发实战
java·开发语言·数据库
-XWB-3 小时前
【Oracle】套接字异常(SocketException)背后隐藏的Oracle问题:ORA-03137深度排查与解决之道
数据库·oracle
睿思达DBA_WGX3 小时前
由于主库切换归档路径导致的 Oracle DG 无法同步问题的解决过程
运维·数据库·oracle
!chen4 小时前
Oracle 19.20未知BUG导致oraagent进程内存泄漏
数据库·oracle·bug
DarkAthena4 小时前
【GaussDB】构建一个GaussDB的Docker镜像
数据库·docker·gaussdb
祁思妙想5 小时前
add新增管理员功能、BaseController类的简介--------示例OJ
数据库·windows