Подвести итог таблицы - PullRequest
       5

Подвести итог таблицы

1 голос
/ 28 сентября 2010

Я использую PostgreSQL.
У меня есть данные в таблице, как:

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

Теперь я хочу обобщить данные как:

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

Count будет суммой записей.
Read будет логической И операцией.

Ответы [ 2 ]

3 голосов
/ 28 сентября 2010
SELECT
    "Parent_id",
    SUM("Count"),
    bool_and("Read")
FROM
    tablename
GROUP BY
    "Parent_id";

Я использовал двойные кавычки "из-за недопустимых имен столбцов и использования верхнего регистра в именах.

0 голосов
/ 28 сентября 2010
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...