【问题标题】:Condition checking while using sum() in mysql在 mysql 中使用 sum() 时进行条件检查
【发布时间】:2015-12-18 06:03:36
【问题描述】:

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

我想对所有 FEE_AMT 求和,其中如果 type='FTP5' 我想对各自的 FEE_AMT 求平方,然后添加...我只尝试过 sum(fee_amt)...

预期输出为:10,500...


编辑

100+200+(100*100)+100+100

如果费用类型='FTP5',我想平方费用金额

在此先感谢... :)

【问题讨论】:

  • 你能给我们展示一个可重现的样本和输出吗?我看不出你是如何从你的问题中得到10,500 的。你想要平方和还是和的平方?
  • 蒂姆先生...请查看我编辑的问题...首先感谢您的回复...

标签: mysql


【解决方案1】:
SELECT SUM(
    CASE WHEN TYPE='FTP5' THEN FEE_AMT*FEE_AMT ELSE FEE_AMT END) AS FeeSum
FROM yourTable

【讨论】:

  • 很高兴为您提供帮助。如果您想查看一个非常丑陋的查询,请查看here
【解决方案2】:

选择总和( if(TYPE='FTP5',FEE_AMT*FEE_AMT,FEE_AMT)) AS FeeSum 来自你的表

【讨论】:

    猜你喜欢
    • 2016-12-19
    • 2017-12-05
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 2017-02-15
    • 2012-09-14
    相关资源
    最近更新 更多