2014-06-19 131 views
0
SELECT SUM(IF(userId = '123456', amount, 0)) AS 'amount' 
FROM `amountInfo` 

用戶id 123456不存在於表amountInfo,在這種情況下,它返回空值我想0(數字)返回SUM零(0),而不是空的

+0

[COALESCE(表達式1,表達式2,...,expressionN)] (http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_coalesce) – Pred

回答

1

您可以使用聚結這個

更新:我缺少的參數設定0,而不是NULL,由@Barmar指出

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

您錯過了'COALESCE'的參數。 – Barmar

2

使用IFNULL:

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