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

相关推荐
Project_Observer15 小时前
使用Zoho Projects AI自动项目管理
大数据·数据库·人工智能·深度学习·机器学习·深度优先
-To be number.wan15 小时前
关系数据库语言SQL基础
数据库
jonyleek15 小时前
性能就是生命线?规则引擎如何支撑实时决策
java·开发语言·数据库
ZFSS15 小时前
Midjourney Shorten API 的集成与使用
java·前端·数据库·人工智能·ai·midjourney·ai编程
思麟呀15 小时前
MySQL的事物管理
数据库·mysql
m0_6174939416 小时前
PySide6 数据库操作深度实测:从 SQLite 连接到增删改查避坑指南
jvm·数据库·sqlite
OpsEye17 小时前
数据库连接池爆了,这3个命令能救你一次
运维·数据库·后端
csdn小瓯17 小时前
PostgreSQL迁移实战:从SQLite到生产级数据库的平滑演进
数据库·postgresql·sqlite
码云骑士17 小时前
Redis 入门实战:从 NoSQL 概念到安装与基础操作详解(一)
数据库·redis·缓存
YL2004042617 小时前
MySQL-进阶篇-锁
数据库·mysql