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

如何修改SQL仅用最新还款计划金额筛选总还款额超2000的人员

问题修正:筛选总还款额超2000的人员(仅统计每笔贷款最新还款计划)

你的问题出在SQL语句的语法顺序错误——HAVING子句必须放在GROUP BY之后,原语句的顺序不仅语法不合法,也会导致逻辑执行不符合预期。

修正后的SQL代码如下:

select 
    person_id, sum(sched_pymt_amt) as total_pay_amt
from
    (select 
         p.person_id, lp.loan_id, lp.sched_pymt_amt, lp.sched_pymt_amt_eff_dt, 
         row_number() over (partition by l.loan_id order by sched_pymt_amt_eff_dt desc) rn
     from
         person p 
     inner join
         loan_dtl l on p.person_id = l.brwr_person_id 
     inner join
         loan_repymt_plan lp ON l.loan_id = lp.loan_id
     where 
         1 = 1) a
where 
    rn = 1
group by 
    person_id
having 
    sum(sched_pymt_amt) > 2000

修正说明:

  • 调整GROUP BY与HAVING的顺序:先通过WHERE rn=1筛选出每笔贷款的最新还款计划记录,再按person_id分组计算总还款额,最后用HAVING筛选总额超2000的人员
  • 确保SUM(sched_pymt_amt)仅统计每笔贷款的最新还款计划金额,完全匹配你要求的计算逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 07:46:14