我有以下存储过程
BEGIN
SELECT kids.*, SUM(point) as `point_sum`
FROM kids
LEFT JOIN tasks
ON kids.id = tasks.kid_id
WHERE kids.user_id = IN_user_id
GROUP BY kids.name;
END
这句话行得通。
我的问题是:新用户的
SUM(point)
通常为空,因为还没有提交的值需要求和。我想要的是如果
SUM(point)
是NULL
那么它应该返回类似于0
的值,否则它应该显示总和。我环顾四周,不知道该怎么解决,有什么好主意吗? 最佳答案
您可以使用coalesce
函数:
SELECT kids.*, COALESCE(SUM(point), 0) as `point_sum`
FROM kids
LEFT JOIN tasks
ON kids.id = tasks.kid_id
WHERE kids.user_id = IN_user_id
GROUP BY kids.name;
关于mysql - MySQL将NULL替换为某些值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27300298/