sql - Postgres : Group by on a column but query needs to return all columns in the table

标签 sql postgresql group-by

我有一个具有以下结构的表:

id, user_id, connected_id, completed
1, 2345, 232, t
2, 2345, 121, f
3, 4324, 123, t
4, 4324, 121, t
5, 1211, 134, f
6, 1211, 111, t

有没有办法通过 user_id 获取表组的所有列。因为我 group by 的列必须在子句中。有解决办法吗。

我试图构建以下结果集:

user_id, total_completed

我想我会做一个两阶段的过程,因为我实际上是通过 mybatis 访问数据。

最佳答案

看来你需要的是

  SELECT user_id,
         COUNT(CASE WHEN completed THEN 1 END) total_completed
    FROM tablename
GROUP BY user_id

关于sql - Postgres : Group by on a column but query needs to return all columns in the table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25169555/

相关文章:

MySQL:范围基于外部表中的行

python - 对一小时内出现的单元格进行分组 - Groupby

mysql - 在Mysql中使用group by子句更新

java - 如何转换为 PostgreSQL 数字类型?

python - PostgreSQL 使用 Python 创建表失败

postgresql - 如何从 Google Cloud SQL 管理的 Postgres 中删除未使用的临时文件?

sql - 如何在 PostgreSQL 9 中用 GROUP BY 替换 DISTINCT ON?

mysql - 单个语句上的多个计数列按不同的用户名分组

java - 类似SQL的机制来过滤和排序对象

python - Postgres `WITH ins AS ...` 将所有内容都转换为文本