MYSQL-三个表中的求和点

MYSQL-三个表中的求和点,mysql,sum,inner-join,Mysql,Sum,Inner Join,我有以下SQL语句(到目前为止): 这将告诉我,哪个用户在哪里被UserId=1邀请,以及他们得到了哪些分数 目标: 我需要所选用户ID的所有邀请点的总和。 我怎样才能做到这一点?我的方法正确吗?我认为,你不应该按pi.points分组,而应该按用户id分组。。。试试这个 SELECT p.facebookID,p.points,pi.facebookID,pi.points, SUM(pi.points) FROM player AS p INNER JOIN invites AS i ON

我有以下SQL语句(到目前为止):

这将告诉我,哪个用户在哪里被UserId=1邀请,以及他们得到了哪些分数

目标:
我需要所选用户ID的所有邀请点的总和。

我怎样才能做到这一点?我的方法正确吗?

我认为,你不应该按pi.points分组,而应该按用户id分组。。。试试这个

SELECT p.facebookID,p.points,pi.facebookID,pi.points, SUM(pi.points) FROM player AS p 
INNER JOIN invites AS i ON p.id = i.inviteFromID 
INNER JOIN player AS pi ON i.inviteToId  = pi.facebookID
WHERE p.id = 1 GROUP BY p.id
假设p.id是您的用户id


让我知道它是如何工作的

它就像一个符咒。刚刚不得不删除pi.points(还不想要用户的积分)。非常感谢!有没有可能,从多少球员的分数中得到分数?这将是我最后一个也是最后一个问题:)嗯-我对你所说的“点数是多少”有点困惑-可能是这样的:从玩家身上选择count(p.id)作为p内部加入邀请,因为我在p.id=i.inviteFromID内部加入玩家作为pi在i.inviteToId=pi.facebookid这只是一个猜测,如果不在本地进行测试,这有点难说——知道我的意思吗?我的意思是。。。。用户ID 1有两个邀请,分别为10分和23分(即),因此邀请者将从两个用户处获得33分。我需要得到用户…如果你现在知道我的意思。希望如此。:)
SELECT p.facebookID,p.points,pi.facebookID,pi.points, SUM(pi.points) FROM player AS p 
INNER JOIN invites AS i ON p.id = i.inviteFromID 
INNER JOIN player AS pi ON i.inviteToId  = pi.facebookID
WHERE p.id = 1 GROUP BY p.id