在另一列mysql中显示结果集值

Posted

技术标签:

【中文标题】在另一列mysql中显示结果集值【英文标题】:Displaying a resultset value in another column mysql 【发布时间】:2016-03-24 23:50:38 【问题描述】:

我是 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】:

试试这个:

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';

【讨论】:

@MonickaAkilan 你使用 SUM 函数是因为你想对不同的记录求和。

以上是关于在另一列mysql中显示结果集值的主要内容,如果未能解决你的问题,请参考以下文章

获取结果集值的计数[重复]

如何在另一列上显示html表格的计算

MS-Access查询以在另一列中收集逗号分隔的结果

将结果集值传递给另一个类

SQLite 在另一列的值上拆分列

将一列的值除以另一列