postgresql逐行比较两列中的值

postrgresql row by row comparison of values in two columns

我有一个 postgres 数据库,在 GROUPBY 之后我必须评估与此近似的条目 table:

然后我尝试找出每列的 MIN 和 MAX,并计算 'A' 或 'B' 列中不存在零的行数。在这种情况下,我计算了一行,因为在行“4”中,'A' 和 'B' 列中都有非零值。获取 MIN 和 MAX 很简单,但我不知道如何执行最后一步。

SELECT MIN(A) as "minA",
       MAX(A) as "maxA",
       MIN(B) as "minB",
       MAX(B) as "maxB",
       COUNT(????) as "num_full"
FROM bigDB
GROUPBY inlet

我想也许我可以对每一行求和并测试结果是否等于 'A' 或 'B' 的值,即如果 A 或 B 为零,则总和为 A或 B。但是 sum() 按列而不是按行工作。有没有一种方法可以按行求和,或者有没有更好的方法来做我想做的事情?

使用filter:

   COUNT(*) FILTER (WHERE A <> 0 AND B <> 0) as num_full

不需要用双引号将列别名括起来。