2017-10-05 5 views
0

J'ai utilisé des fonctions de fenêtre dans ma requête pour additionner mes rangées selon la valeur en combinaison de lignes. Maintenant, si 1 ligne contient null alors je dois le considérer comme faux que dois-je faire? J'avais essayé d'ajouter coalesce(atg.flag,false) dans la partition mais cela n'a pas fonctionné.utiliser la valeur par défaut dans la clause de partition d'une fonction de fenêtre si nulle

+0

(atg.flag, false)' devrait marcher. références de partitions - parlez-vous des fonctions de la fenêtre? .. –

+0

Oui j'utilise la fonction windows. – charmi

+0

S'il vous plaît ** [EDIT] ** votre question et ajoutez la requête que vous utilisez. [** Texte formaté **] (http://stackoverflow.com/help/formatting) s'il vous plaît, [aucune capture d'écran] (http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload-images-of-code-on-so-when-ask-a-question/285557 # 285557) ** [Modifier] ** votre question - ne ** pas ** code postal ou des informations supplémentaires dans les commentaires. –

Répondre

0

soudent est le chemin, voici un exemple:

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) 

comme vous pouvez le voir count = 2 pour nuls et faux et = 1 pour vrai `soudent

+0

Merci, je vais essayer à nouveau. :) – charmi