在另一列mysql

时间:2015-12-18 09:53:16

标签: mysql sql select sum case

AM MYSQL新来了......请帮我排除这个......

我有两个结果集,如

第一个结果集

 NO,     TYPE,  FEE_AMT
'2156', 'FTP2', 100.00
'2156', 'FTP4', 200.00
'2156', 'FTP5', 100.00
'2156', 'FTP6', 100.00
'2156', 'FTP3', 100.00

第二个结果集

 NO,     TYPE,  FEE_AMT
'2156', 'FTP2', 100.00
'2156', 'FTP4', 200.00
'2156', 'FTP1', 100.00
'2156', 'FTP6', 100.00
'2156', 'FTP3', 100.00

我想将一列中的所有FEE_AMT加总为feesum。 我的结果包含type = 'FTP5'我想在下一栏显示相应的fee_amt为abc_fee否则abc_amt = 0;

预期输出为:

第一个结果集

feesum abc_amt
600    100

第二个结果集

feesum abc_amt
600    0

我知道总和的公式,但不是下一栏...... 感谢提前...... :)

1 个答案:

答案 0 :(得分:3)

试试这个:

SELECT SUM(table1.FEE_AMT) AS feesum, 
       SUM(CASE WHEN table1.TYPE = 'FTP5' THEN table1.FEE_AMT ELSE 0 END) AS abc_amt
FROM table1
WHERE table1.NO = '2156';