我的MySQL表中有3列type、sum和custom_sum 如果custom_sum为空,我需要在SELECT `type`, SUM(`sum`) FROM `localhost-test` GROUP BY `type`
SUM()
中使用sumustom_sum。是否可以根据mysql中的"if"语句按不同列求和?
如果custom_sum
值为null
:
SELECT
`u.type`,
SUM(COALESCE(`custom_sum`,`sum`))
FROM
`localhost-test`
GROUP BY
`type`
如果custom_sum
值为empty
(==''
):
SELECT
`u.type`,
SUM(CASE WHEN `custom_sum` = '' THEN `sum` ELSE `custom_sum` END)
FROM
`localhost-test`
GROUP BY
`type`