2017-10-05 34 views
0

我在查询中使用了窗口函数来根据行的组合值对行进行求和。现在,如果1行包含null,那么我必须将其视为false,我应该怎么做?我曾尝试在分区中添加coalesce(atg.flag,false),但它不起作用。如果为空,则在窗口函数的分区子句中使用默认值

+0

'聚结数= 2空,假,= 1(atg.flag,假)'应该管用。引用分区 - 你在谈论窗口函数吗? –

+0

是的,我正在使用Windows功能。 – charmi

+0

请** [编辑] **您的问题,并添加您正在使用的查询。 [**格式化文本**](http://stackoverflow.com/help/formatting)请,[无屏幕截图](http://meta.stackoverflow.com/questions/285551/why-may-i-not 285557#285557)** [编辑] **你的问题 - 做**不** **在代码或附加信息的评论。 –

回答

0

聚结是这样的,这里有一个例子:

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) 

,你可以看到真正的

+0

谢谢,我会再试一次。 :) – charmi

相关问题