我有以下存储过程

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/

10-13 03:25