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

相关推荐
SL_staff9 小时前
JVS数字底座实践:如何复用企业文档能力快速构建知识类应用
java·数据库·程序员
农村小镇哥9 小时前
C#读取CSV文件的方法
服务器·数据库·c#
IMPYLH9 小时前
HTML 的 <embed> 元素
前端·数据库·html
油丶酸萝卜别吃10 小时前
Redis 布隆过滤器快速实现
数据库·redis·缓存
深念Y10 小时前
stable-diffusion.cpp 的 FLUX.2 Klein 9B 分步
java·前端·数据库
whn197710 小时前
oracle 的ora-19633处理
数据库·oracle
x-cmd10 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
小弥儿10 小时前
Firecrawl:把整个网页变成 AI 可查询的数据库
数据库·人工智能·学习
swordbob10 小时前
mysql数据库,明明有索引为啥不用
数据库·mysql
晴天¥11 小时前
Oracle ASM、ACFS、FLEX ASM三者之间的关系?
数据库·oracle