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

相关推荐
YGGP5 分钟前
Redis篇:基础知识总结与基于长期主义的内容更新
数据库·redis·缓存
KINICH ahau23 分钟前
数据库1-2章
数据库·oracle
我想吃烤肉肉1 小时前
leetcode-sql数据库面试题冲刺(高频SQL五十题)
数据库·sql·leetcode
夏炎正好眠2 小时前
mysql练习
数据库·mysql
NineData2 小时前
NineData 社区版正式上线,支持一键本地化部署!
数据库·程序员
大0马浓2 小时前
LLM训练如何从图片提取信息存入向量数据库
数据库·训练·rag
鱼骨不是鱼翅2 小时前
Mybatis操作数据库----小白基础入门
数据库·mybatis
已是上好佳3 小时前
介绍一下Qt 中的QSizePolicy 布局策略
数据库·qt
钡铼技术物联网关3 小时前
导轨式ARM工业控制器:组态软件平台的“神经中枢”
linux·数据库·人工智能·安全·智慧城市
驜鸈4 小时前
MySQL 的EXPLAIN 计划 type 字段详细说明
android·数据库·mysql