【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的记录,即每个客户的最新订单记录。

相关推荐
小哈里2 分钟前
【后端开发】系统设计101——通信协议,数据库与缓存,架构模式,微服务架构,支付系统(36张图详解)
数据库·缓存·微服务·架构·系统设计
米饭好好吃.8 分钟前
【Redis实战】投票功能
数据库·redis·缓存
J不A秃V头A1 小时前
SQL精度丢失:CAST(ce.fund / 100 AS DECIMAL(10, 2)) 得到 99999999.99
数据库·sql·oracle
工业甲酰苯胺1 小时前
Redis 事务和 “锁机制”——> 并发秒杀处理的详细说明
数据库·redis·bootstrap
wybshyy2 小时前
WebApi使用 (.Net Framework版)
数据库·.net
菠萝咕噜肉i2 小时前
Maven
java·数据库·maven
Snow_Dragon_L2 小时前
【MySQL】语言连接
android·数据库·后端·sql·mysql·ubuntu·adb
Lzehui2 小时前
spring boot接收请求常用注解
java·数据库·spring boot
m0_653031362 小时前
微软发布基于PostgreSQL的开源文档数据库平台DocumentDB
数据库·microsoft·postgresql
飞翔的佩奇2 小时前
Java项目: 基于SpringBoot+mybatis+maven+mysql实现的装饰工程管理系统(含源码+数据库+毕业论文)
java·数据库·spring boot·mybatis·ssm·毕设·装饰工程