如何在sum里面筛选多个条件后求和

如有数据库表a,有两个字段:金额,类型,其中类型中的值有aa,bb,cc,dd
求这个表的总金额和类型为“aa,dd”的总金额

SELECT SUM(金额),SUM(CASE WHEN 类型 IN (aa,dd) THEN 金额 ELSE 0 END) FROM a

1.求表的总金额

SELECT SUM(amount) AS total_amount FROM a;

2.求类型为 "aa" 和 "dd" 的总金额:

SELECT SUM(amount) AS total_amount_aa_dd FROM a WHERE type IN ('aa', 'dd');

如果你想把这3个金额分3行查询
那么可以先查总金额
然后union all
再查aa,dd的金额,根据类型group by一下
如果你想分3列查询,那么写个嵌套查询