You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL中基于两列分组获取最新记录的实现方法问询

问题与解决方案

原始数据

SUBSCRIBER_NOCUSTOMER_IDSYS_CREATION_DATESYS_UPDATE_DATEOPERATOR_ID
6168620919904164019-JUN-2219-JUN-22611316378
6168620914578164524-AUG-2019-JUN-22611316378
6168621019904456719-JUN-2219-JUN-22611316379
6168621014578123424-AUG-2017-JUN-22611316379

筛选规则

  • 针对同一SUBSCRIBER_NO的记录:
    • 若SYS_UPDATE_DATE值相同,选取SYS_CREATION_DATE最新的记录
    • 若SYS_UPDATE_DATE值不同,选取SYS_UPDATE_DATE最新的记录

Oracle SQL 查询语句

SELECT SUBSCRIBER_NO, CUSTOMER_ID, SYS_CREATION_DATE, SYS_UPDATE_DATE, OPERATOR_ID
FROM (
    SELECT 
        t.*,
        ROW_NUMBER() OVER (
            PARTITION BY SUBSCRIBER_NO 
            ORDER BY SYS_UPDATE_DATE DESC, SYS_CREATION_DATE DESC
        ) AS rn
    FROM your_table_name t
)
WHERE rn = 1;

说明:将your_table_name替换为实际表名。窗口函数ROW_NUMBER()按SUBSCRIBER_NO分区,先按SYS_UPDATE_DATE降序排序(优先取最新更新日期),再按SYS_CREATION_DATE降序排序(同一更新日期下取最新创建日期),最后筛选出每个分区的第一条记录。

预期输出

SUBSCRIBER_NOCUSTOMER_IDSYS_CREATION_DATESYS_UPDATE_DATEOPERATOR_ID
6168620919904164019-JUN-2219-JUN-22611316378
6168621019904456719-JUN-2219-JUN-22611316379

内容的提问来源于stack exchange,提问作者jerry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 05:01:06