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

相关推荐
薿夜4 分钟前
SpringSecurity(二)
数据库
Francek Chen24 分钟前
【大数据存储与管理】NoSQL数据库:01 NoSQL简介
大数据·数据库·分布式·nosql
Database_Cool_1 小时前
【无标题】
数据库·阿里云·ai
jnrjian1 小时前
with MATERIALIZE inline cardinality 联合使用 literals vs bind variables
oracle
isNotNullX1 小时前
BI如何落地?BI平台如何搭建?
大数据·数据库·人工智能
Shely20171 小时前
单表查询
数据库
5G丶1 小时前
ThinkPHP 集群部署完整指南
数据库·php
刘~浪地球2 小时前
数据库与缓存--MySQL 高可用架构设计
数据库·mysql·缓存
知识分享小能手2 小时前
MongoDB入门学习教程,从入门到精通,MongoDB的了解应用程序的动态(18)
数据库·学习·mongodb