Mysql LEFT JOIN 和 SUM 并显示 0 而不是 NULL

标签 mysql sum left-join

我有第一个表名为“orders”,第二个表名为“details”

orders :
order_id
1
2
3

details :
id | order_id | qty
1  |  1       | 2
2  |  1       | 3

如何显示如下?

order_id | total
1        | 5
2        | 0
3        | 0

我试过这个查询但没有成功:

SELECT *, SUM(qty) AS total
FROM order o
LEFT JOIN details d
  ON o.order_id = d.order_id

最佳答案

试试这个:

SELECT o.order_id, IFNULL(SUM(d.qty),0) AS total
FROM orders o
    LEFT JOIN details d ON o.order_id = d.order_id
 GROUP BY order_id

关于Mysql LEFT JOIN 和 SUM 并显示 0 而不是 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24683894/

相关文章:

javascript - 如何根据下拉选择和按钮单击从 MySql 数据库中检索数据?

php - AJAX 给出的结果与 MySQL 不同

r - R中它们之间的每一列的总和

Mysql 计数连接表 OneToMany

MySQL SELECT 查询返回错误结果

php - 寻找更有效的方式来服务大量链接重定向?

Mysql 查询通过选择查询获取插入的用户名和更新的用户名?

mysql - 仅在为空时选择

Python:将两列分组在一起并找到第三列的总和

php - 如何获得 if 条件下得到的值的总和