0
我在查询中使用了窗口函数来根据行的组合值对行进行求和。现在,如果1行包含null,那么我必须将其视为false,我应该怎么做?我曾尝试在分区中添加coalesce(atg.flag,false)
,但它不起作用。如果为空,则在窗口函数的分区子句中使用默认值
我在查询中使用了窗口函数来根据行的组合值对行进行求和。现在,如果1行包含null,那么我必须将其视为false,我应该怎么做?我曾尝试在分区中添加coalesce(atg.flag,false)
,但它不起作用。如果为空,则在窗口函数的分区子句中使用默认值
聚结是这样的,这里有一个例子:
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)
,你可以看到真正的
谢谢,我会再试一次。 :) – charmi
'聚结数= 2空,假,= 1(atg.flag,假)'应该管用。引用分区 - 你在谈论窗口函数吗? –
是的,我正在使用Windows功能。 – charmi
请** [编辑] **您的问题,并添加您正在使用的查询。 [**格式化文本**](http://stackoverflow.com/help/formatting)请,[无屏幕截图](http://meta.stackoverflow.com/questions/285551/why-may-i-not 285557#285557)** [编辑] **你的问题 - 做**不** **在代码或附加信息的评论。 –