我正在使用PostgreSQL 我有表格中的数据:
Parent_id Count Read
--------- ------ ------
52405 2 False
52405 1 True
现在我想总结一下这样的数据:
Parent_id Count Read
--------- ------ ------
52405 3 False
Count
将是记录的总和
Read
将是合乎逻辑的 AND 操作。
答案 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