我想获得每个用户的总金额。我已经给出了表所需的输出
user_id name
1 Shanmugam
2 Sharavanan
3 Selvam
付款表
user_id amount
1 5
2 7
1 5
2 4
我想要低于输出
name total
shanmugam 10
sharavan 11
selvam 0
任何一个帮助如何编写mysql查询
我试过下面的查询
选择
user.name
SUM(金额)AS总计
从
付款
让我们在user.user_id = payent.user_id
答案 0 :(得分:0)
尝试类似的东西:
SELECT SUM(p.amount) AS total, u.name FROM Payment
INNER JOIN User AS u ON u.id = p.user_id
GROUP BY p.user_id;
答案 1 :(得分:0)
似乎很简单,您可以自己完成此操作,并注意使用left join
:
select
u.name,
coalesce(sum(p.amount), 0) as total
from user u
left join payment p
on u.user_id = p.user_id
group by u.user_id
请在此处查看demo。