我有一个似乎无法正确执行的 SQL 查询。表不是很复杂。我拥有的字段是名称和 2 个 FacebookUserID。我正在进行推荐比赛。第一个 FbookUId 是参加比赛的人的 ID,推荐 ID 是推荐他们的用户的 ID。我想选择每个主要的 fbookUID 并计算该人负责的推荐次数。这是我尝试过的查询:
我进行了更新:这是我创建的一些简单示例数据:
INSERT INTO facebookContest
(name, FacebookID, FacebookReferalID)
VALUES
('Joe', '10', '1'),
('Sam', '20', '5'),
('Mary', '30', '20'),
('Jim', '40', '20'),
('Mike', '50', '100'),
('Bob', '60', '100');
我的查询:
SELECT name, FacebookID, COUNT(FacebookReferalID) FROM facebookContest GROUP BY FacebookReferalID
这是我的查询结果,这显然是不正确的:
NAME FACEBOOKID COUNT(FACEBOOKREFERALID)
Joe 10 1
Sam 20 1
Mary 30 2
Mike 50 2
Mary 和 Mike 没有任何推荐人,但每人获得 2 人的信用。我想在我的查询中返回每个唯一的 Facebook ID。6 个中只有 4 个被退回。
SELECT *, COUNT (FacebookReferalID) FROM facebookContest GROUP BY FacebookID
我想我可能需要一个子查询,但我不是一个 SQL 专家来把它放在一起。谢谢!