如何对多列求和并获取每列总计?SQL查询问题求助
解决多列全表求和的问题
你的SQL语句里加了GROUP BY borrower,这会让结果按每个借款人分组计算各列的和,而非你想要的全表总计,这就是结果不符合预期的原因。
要获取全表各列的总计,直接去掉GROUP BY子句即可,同时调整别名匹配你期望的格式:
SELECT SUM(collateral_amount) AS collateral_amount, SUM(id) AS id, SUM(withdraw_amount) AS withdraw_collateral, SUM(total_amount_to_treasure) AS total_amount FROM loans;
这条语句会返回一行数据,包含各列的全表总计值,和你期望的结构对应。
如果想要直接输出JSON格式的结果(以MySQL为例),可以使用JSON_OBJECT函数:
SELECT JSON_OBJECT( 'collateral_amount', SUM(collateral_amount), 'id', SUM(id), 'withdraw_collateral', SUM(withdraw_amount), 'total_amount', SUM(total_amount_to_treasure) ) AS total_summary FROM loans;
执行后就能得到你给出的JSON格式的总计结果。
内容的提问来源于stack exchange,提问作者test_
相关产品推荐
相关产品推荐

