mysql - 如果mysql没有找到记录则返回sum 0

标签 mysql

如果 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/

相关文章:

php - 未使用函数 password_verify 验证密码

没有 DESC 的 MySQL 倒序

javascript - 多选功能无法正常工作

mysql - 无法使用 Homebrew 程序连接到本地 MySQL 服务器

MySQL:第二个左连接将返回哪个表

mysql - SQL 到谷歌地图点

php - 看到别人的帖子

javascript - Ajax、PHP 和 MySQL 以及在页面中附加数据

php - Cakephp 3 查找所有且仅每个的最大日期

Mysql提取特定列中每个单词的首字母