【问题标题】:MySQL SUM of field with conditon, IF(SUM(bill_1) IS NULL, '99', SUM(bill_1)) AS tot_bill_1具有条件的字段的 MySQL SUM, IF(SUM(bill_1) IS NULL, '99', SUM(bill_1)) AS tot_bill_1
【发布时间】:2015-04-15 21:50:51
【问题描述】:

我想要 SUM(tot_bill_1+tot_bill_2) 作为总计,但它不起作用

SELECT *, 
IF(SUM(bill_1) IS NULL, '99', SUM(bill_1)) AS tot_bill_1, 
IF(SUM(bill_2) IS NULL, '10', SUM(bill_2)) AS tot_bill_2, 
SUM(tot_bill_1+tot_bill_2) AS total
FROM billing

有什么想法吗?

【问题讨论】:

    标签: mysql if-statement join sum conditional-statements


    【解决方案1】:

    您可以使用子查询来做到这一点:

    SELECT sum_bill1,
           sum_bill2,
           (sum_bill1 + sum_bill2) AS total
    FROM
      (SELECT COALESCE(sum(bill1), 99) AS sum_bill1,
              COALESCE(sum(bill2), 10) AS sum_bill2
       FROM billings) t
    

    【讨论】:

      猜你喜欢
      • 2021-10-24
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多