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

Teradata中如何筛选首次记录并按月度分组统计?

问题原因

你的查询返回合并的520条记录,核心问题出在这几点:

  1. 分区逻辑未结合月份维度:仅按MyFakeAccount分区,会提取客户在七八月所有符合条件记录里的最早一条,导致跨月客户只被统计一次,最终结果是所有唯一达标客户的总数(520条)。
  2. 时间范围仅筛选单月数据:原WHERE子句的日期条件只取当前日期的上个月数据,无法同时覆盖七八月来分别统计。
  3. 存在语法错误:Betweem拼写错误应为Between,TRUNC函数的括号不匹配。
两种解决方案(按需选择)

方案1:按月份输出截止到当月的累计首次达标客户(七月500条,八月520条)

该方案会输出每个月末的累计首次符合条件客户列表,七月末返回500个首次达标客户,八月末返回包含七月500个加八月新增20个的520条记录:

WITH first_qualified_date AS (
    -- 先获取每个客户首次符合条件的日期
    SELECT 
        MyFakeAccount,
        MIN(MyFakeDate) AS first_hit_date
    FROM MyFakeTable
    WHERE FakeField = 'Y'
    GROUP BY MyFakeAccount
),
target_months AS (
    -- 列出需要统计的月份,可手动指定或动态生成
    SELECT TRUNC('2024-07-01'::DATE, 'Month') AS stat_month UNION ALL
    SELECT TRUNC('2024-08-01'::DATE, 'Month')
)
-- 关联得到每个月份截止的首次达标客户记录
SELECT 
    tm.stat_month,
    fqd.MyFakeAccount,
    fqd.first_hit_date
FROM target_months tm
JOIN first_qualified_date fqd
    ON fqd.first_hit_date <= LAST_DAY(tm.stat_month)
ORDER BY tm.stat_month, fqd.MyFakeAccount;

方案2:输出每个客户对应月份内的首次符合条件记录

如果需要同一客户在七月、八月均有符合条件记录时,分别提取当月的首次记录(同一客户可能出现在两个月的结果中),使用以下查询:

SELECT 
    TRUNC(MyFakeDate, 'Month') AS stat_month,
    MyFakeDate,
    MyFakeAccount
FROM MyFakeTable
WHERE FakeField = 'Y'
-- 按「客户+月份」分区,取当月内的第一条符合条件记录
QUALIFY ROW_NUMBER() OVER (
    PARTITION BY MyFakeAccount, TRUNC(MyFakeDate, 'Month')
    ORDER BY MyFakeDate
) = 1
-- 可选:指定仅统计七八月数据
AND TRUNC(MyFakeDate, 'Month') IN (TRUNC('2024-07-01', 'Month'), TRUNC('2024-08-01', 'Month'))
ORDER BY stat_month, MyFakeAccount;
原查询语法修正(仅查询单月首次达标客户)

如果只是修正原查询的语法错误,用于单月数据的首次达标客户提取,调整后代码如下:

SELECT 
    MyFakeDate,
    MyFakeAccount
FROM MyFakeTable
WHERE 
    FakeField = 'Y' 
    AND MyFakeDate BETWEEN TRUNC(Current_Date - EXTRACT(Day FROM Current_Date), 'Month') 
                        AND LAST_DAY(TRUNC(Current_Date - EXTRACT(Day FROM Current_Date), 'Month'))
QUALIFY ROW_NUMBER() OVER (PARTITION BY MyFakeAccount ORDER BY MyFakeDate) = 1;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 22:00:53