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

SQL查询各客户对应最小CustKey的Category并命名为SignupCategory的方法

需求实现方案

核心逻辑

先通过分组查询拿到每个客户(对应AgreementNumber字段)的最小CustKey,再关联回原客户表,取出该CustKey对应的Category字段重命名为SignupCategory即可。

完整可运行SQL代码

SELECT 
    c.AgreementNumber,
    c.Category AS SignupCategory
FROM Customer c
INNER JOIN (
    -- 子查询:获取每个客户对应的最小CustKey
    SELECT 
        AgreementNumber, 
        MIN(CustKey) AS MinCustKey
    FROM Customer
    GROUP BY AgreementNumber
) X
ON c.AgreementNumber = X.AgreementNumber 
AND c.CustKey = X.MinCustKey

原有代码问题说明

  1. 可运行但输出CustKey的代码,问题出在输出字段选择错误:你直接将子查询返回的最小CustKey别名设置为了SignupCategory,所以输出的是数字类型的CustKey,改成取原表中对应行的Category字段重命名即可。
  2. 不可运行的参考代码存在两处逻辑错误:
    • 子查询GROUP BY子句中额外加入了Category字段,会导致每个客户的每个分类都单独计算最小CustKey,不符合取每个客户全局最小CustKey的需求
    • 关联条件错误将Category字段和CustKey做匹配,二者字段含义、类型均不匹配,无法得到正确结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:06:03