2017-10-05 91 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

相關問題