sql - 如何在查询中计算并集的总和
问题描述
这就是我所做的,在图像中的结果现在我想通过 UserSend 获得所有组的总和,例如你可以看到 maorsapo@gmail.com 在第二个中有 7 和 3 我想要它而不是这个maorsapo@gmail.com, 10(7+3) 我该怎么做?
SELECT m.UserSend, Count(*) AS Expr1
FROM Messages AS m
GROUP BY m.UserSend;
union
SELECT F.UserRequest, Count(*) AS Expr1
FROM FavoritesList AS F
GROUP BY F.UserRequest;
解决方案
您可以尝试使用结果表的总和
select t.my_user, sum(Expr1)
from (
SELECT m.UserSend as my_user, Count(*) AS Expr1
FROM Messages AS m
GROUP BY m.UserSend;
union
SELECT F.UserRequest, Count(*) AS Expr1
FROM FavoritesList AS F
GROUP BY F.UserRequest;
) t
group by t.my_user