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

MySQL关联CONTRACTS表筛选后如何对BILLS表F_SUM字段求和

实现方案

方案1:基于现有子查询逻辑修改

仅需要将原查询的字段替换为SUM()聚合函数即可,不需要改动过滤逻辑:

SELECT SUM(BILLS.F_SUM) AS total_f_sum
FROM BILLS
WHERE ID_CONTRACT_INST IN (
    SELECT ID_CONTRACT_INST 
    FROM CONTRACTS
    WHERE V_EXIT_IDENT = 1158
);

方案2:INNER JOIN关联实现(更推荐)

关联查询的执行效率通常优于子查询,尤其当表数据量较大时优势更明显:

SELECT SUM(b.F_SUM) AS total_f_sum
FROM BILLS b
INNER JOIN CONTRACTS c 
    ON b.ID_CONTRACT_INST = c.ID_CONTRACT_INST
WHERE c.V_EXIT_IDENT = 1158;

补充说明

  • 查询结果中total_f_sum字段就是你需要的符合条件的F_SUM总和
  • 如果需要无匹配记录时返回0而非NULL,可以将聚合部分修改为IFNULL(SUM(b.F_SUM), 0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:39:04