android - SQLite 对组中的成员进行计数

标签 android mysql sql sqlite

嘿,我在计算群组成员数量时遇到问题。我现在的查询为给定用户所属的每个组返回一行。但我希望成员(member)的数量也能出现。我使用的三个表如下所示:

enter image description here

这是我正在处理的查询: 查看编辑!

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

提前致谢!

最佳答案

假设您正在计算用户 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 列似乎没有任何作用,而且,在我看来,您的命名约定是疯狂的! ;-)

关于android - SQLite 对组中的成员进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20193359/

相关文章:

Android HttpsURLConnection on 2.3.4 OutOfMemoryError while uploading Large File (byte[] in memory)

android - 位置更改时 Environment.getExternalStorageDirectory() 的定义行为是什么?

mysql - 在 MySQL 中计算时间跨度

mysql - 我的SQL安装在 `Program Files`并且看不到 `my.ini`文件

SQL Server : SELECT from sys. 表和 sys.views

MySQL 5.7 GENERATED ALWAYS 列定义为子查询

java - Android 应用程序 Activity 中的广告每 3-5 秒更改一次

java - 使用 ArrayList 中的数据填充 Android ListView 是将每个项目设置为与第一个项目相同

mysql - 我应该使用 0/1 还是 True/False boolean 值?

mysql - 在 mysqlWB 中同步我的模型时出错