返回SUM零(0)而不是null

时间:2014-06-19 10:03:10

标签: mysql sql sum

SELECT SUM( IF( userId = '123456', amount, 0 ) ) AS 'amount'
FROM `amountInfo` 

userId 123456在表amountInfo中不存在,在这种情况下,它返回null我想要0(数字)

3 个答案:

答案 0 :(得分:2)

使用IFNULL:

SELECT IFNULL(SUM(IF(userId = '123456', amount, 0)), 0) AS amount

答案 1 :(得分:1)

您可以在此

中使用合并

UPDATE :我错过了设置0而不是NULL的参数,由@Barmar指出

coalesce( SUM( IF( userId = '123456', amount, 0 ) ),0 )

答案 2 :(得分:0)

选择COALESCE(总和(金额),0)作为amountInfo的金额,其中userId ='123456' 您可以阅读http://www.w3schools.com/sql/sql_isnull.asp