如果为null,则在窗口函数的partition子句中使用默认值

时间:2017-10-05 12:53:10

标签: sql postgresql window-functions isnull

我在查询中使用了窗口函数,根据行的组合值对行进行求和。现在,如果1行包含null,那么我必须将其视为false我该怎么办?我曾尝试在分区中添加Error in get(y)[x, 12] : incorrect number of dimensions Called from: which(get(y)[x, 12]) 但它不起作用。

1 个答案:

答案 0 :(得分:0)

coalesce是方法,这是一个例子:

t=# with dset(i,bool) as (values(1,true),(2,false),(3,null))
select i, bool::text, count(1) over (partition by coalesce(bool,false))
from dset;
 i | bool  | count
---+-------+-------
 2 | false |     2
 3 |       |     2
 1 | true  |     1
(3 rows)

你可以看到count = 2表示null和false,= 1表示true