SQLite计算组中的成员

时间:2013-11-25 12:39:12

标签: android mysql sql sqlite

嘿,我在计算一个小组的成员时遇到了问题。我现在的查询为给定用户所属的每个组返回一行。但我希望会员数量也能显示出来。我使用的三个表看起来像这样:

enter image description here

以下是我正在使用的查询: 看看编辑!

如果我省略代码的COUNT部分,我会收到我期待的2组。但是,当我添加COUNT时,它只返回一个成员= 2的组。所以看起来它很重要,但我不确定这是正确的答案。

提前致谢!

1 个答案:

答案 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列似乎没有任何用处,而且,按照我的想法,你的命名约定是疯狂的! ; - )