如果 users
表中的记录在 securitydeposits
表中不存在,我希望此查询返回 total
的总和 0。 COALESCE
不适用于这种情况。我该怎么办?
SELECT users.`email`,
COALESCE(SUM(securitydeposits.`amount_paid`),0) AS total
FROM `users`
LEFT JOIN `securitydeposits`
ON securitydeposits.user=users.email
GROUP BY securitydeposits.`user`
ORDER BY `total` DESC
最佳答案
我猜测您的GROUP BY
正在将OUTER JOIN
更改为INNER JOIN
。
尝试将 GROUP BY securitydeposits.user
更改为 GROUP BY users.email
关于mysql - 如果mysql没有找到记录则返回sum 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44203628/