嘿,我在计算一个小组的成员时遇到了问题。我现在的查询为给定用户所属的每个组返回一行。但我希望会员数量也能显示出来。我使用的三个表看起来像这样:
以下是我正在使用的查询: 看看编辑!
如果我省略代码的COUNT部分,我会收到我期待的2组。但是,当我添加COUNT时,它只返回一个成员= 2的组。所以看起来它很重要,但我不确定这是正确的答案。
提前致谢!
答案 0 :(得分:1)
假设您在用户1所属的每个组中的参与者总数之后...
SELECT gu1.group_id_foreign
, COUNT(*) ttl
FROM group_participants gu1
JOIN group_participants gu2
ON gu2.group_id_foreign = gu1.group_id_foreign
WHERE gu1.user_id_foreign = 1
GROUP
BY gu1.group_id_foreign;
http://sqlfiddle.com/#!2/821ad/1
顺便说一句,group_participants表中的_id列似乎没有任何用处,而且,按照我的想法,你的命名约定是疯狂的! ; - )