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

SQL查询中如何为每个客户确定最早日期并填充至NEW_CLIENT_DATE列

解决方案:为客户计算最早日期并填充NEW_CLIENT_DATE列

需求说明

需要为每个客户确定最早日期并填入NEW_CLIENT_DATE列:比较该客户的CLIENT_CREATE_DATE与所有关联的ACCOUNT_CREATE_DATE值,取两者中的最小值作为该客户所有行的NEW_CLIENT_DATE。

修改后的SQL语句

WITH CTE AS (
    SELECT 
        CLIENT.client_number AS CLIENT_NUMBER, 
        CAST(CLIENT.create_date AS DATE) AS CLIENT_CREATE_DATE, 
        CAST(ACCOUNT.account_open AS DATE) AS ACCOUNT_CREATE_DATE,
        -- 按客户分组,计算该客户所有账户的最早开户日期
        MIN(CAST(ACCOUNT.account_open AS DATE)) OVER (PARTITION BY CLIENT.client_number) AS MIN_ACCOUNT_DATE
    FROM ACCOUNT
    LEFT JOIN CLIENT ON CAST(CLIENT.client_number AS NUMERIC) = ACCOUNT.client_number
)
SELECT 
    CLIENT_NUMBER,
    CLIENT_CREATE_DATE,
    ACCOUNT_CREATE_DATE,
    -- 取客户创建日期和最早账户日期中的较小值
    CASE 
        WHEN CLIENT_CREATE_DATE < MIN_ACCOUNT_DATE THEN CLIENT_CREATE_DATE
        ELSE MIN_ACCOUNT_DATE
    END AS NEW_CLIENT_DATE
FROM CTE
ORDER BY CLIENT_NUMBER;

逻辑解释

  1. 在CTE中新增MIN_ACCOUNT_DATE字段:通过窗口函数MIN() OVER (PARTITION BY CLIENT.client_number)按客户编号分组,计算每个客户名下所有账户的最早开户日期。
  2. 主查询用CASE语句对比CLIENT_CREATE_DATE和MIN_ACCOUNT_DATE,取更小的日期填充NEW_CLIENT_DATE,确保同一客户的所有行显示相同的最早日期。

执行结果

执行该语句后将得到期望输出:

CLIENT_NUMBER   CLIENT_CREATE_DATE  ACCOUNT_CREATE_DATE     NEW_CLIENT_DATE
5                   1/10/2014           8/21/2001               8/21/2001
7                   1/10/2014           3/24/2010               3/24/2010
7                   1/10/2014           10/31/2011              3/24/2010
13                  1/10/2014           4/5/2012                4/5/2012
16                  1/10/2014           10/16/2003              10/16/2003
16                  1/10/2014           6/14/2022               10/16/2003
16                  1/10/2014           8/24/2011               10/16/2003
17                  1/10/2014           11/12/2014              1/10/2014
17                  1/10/2014           12/10/2014              1/10/2014
18                  1/10/2014           10/23/2003              10/23/2003

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 20:38:19