总结表的结果

时间:2010-09-28 06:20:35

标签: sql postgresql

我正在使用PostgreSQL 我有表格中的数据:

Parent_id     Count     Read
---------     ------    ------
52405          2         False
52405          1         True

现在我想总结一下这样的数据:

Parent_id     Count     Read
---------     ------    ------
52405          3         False

Count将是记录的总和 Read将是合乎逻辑的 AND 操作。

2 个答案:

答案 0 :(得分:3)

SELECT
    "Parent_id",
    SUM("Count"),
    bool_and("Read")
FROM
    tablename
GROUP BY
    "Parent_id";

我确实使用双引号“因为非法的列名和名字中使用大写。

答案 1 :(得分:0)

SELECT Parent_id,
       s,
       CASE WHEN logical_sum = cnt
            THEN 'True'
            ELSE 'False'
       END
  FROM (SELECT SUM("Count") as s,
               SUM(CASE WHEN "Read" = 'True'
                        THEN 1
                        ELSE 0
                   END) AS logical_sum,
               COUNT(*) AS cnt
          FROM tbl
      GROUP BY Parent_id) x