首页 > 解决方案 > 获取 MySQL 查询结果的总和

问题描述

我有一个带有 ID_CONTRACT_INST、F_SUM、DT_EVENT(Date) 列的表 BILLS

另一个带有 ID_CONTRACT_INST(主键)的表 CONTRACTS,V_EXIT_IDENT

我的任务:表 BILLS 中的 F_SUM 列的总和,其中表 CONTRACTS 中的 V_EXIT_IDENT = 1158

我得到:除了总和

select BILLS.ID_CONTRACT_INST, BILLS.F_SUM
from BILLS
where ID_CONTRACT_INST IN
(select ID_CONTRACT_INST from CONTRACTS
where V_EXIT_IDENT = 1158);

标签: mysqlsql

解决方案


如果BILLS.ID_CONTRACT_INST是唯一的,则使用

select BILLS.ID_CONTRACT_INST, SUM(BILLS.F_SUM) F_SUM
from BILLS
where ID_CONTRACT_INST IN (select ID_CONTRACT_INST 
                           from CONTRACTS
                           where V_EXIT_IDENT = 1158)
GROUP BY BILLS.ID_CONTRACT_INST WITH ROLLUP;

在输出中,您将在列中看到BILLS.ID_CONTRACT_INST值为 NULL 和总和的附加行F_SUM

GROUP BY 修饰符


推荐阅读