Re: Function fixing - PostgreSQL 9.2

From: "drum(dot)lucas(at)gmail(dot)com" <drum(dot)lucas(at)gmail(dot)com>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Function fixing - PostgreSQL 9.2
Date: 2016-03-01 01:14:10
Message-ID: CAE_gQfUPMf40qygH9A0JLoEtvMXt6Rz2SyyjE=48bfLZfYZwOw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 1 March 2016 at 11:35, David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>
wrote:

> On Mon, Feb 29, 2016 at 2:56 PM, drum(dot)lucas(at)gmail(dot)com <
> drum(dot)lucas(at)gmail(dot)com> wrote:
>
>> *Question:*
>>
>> Payments in a Pending state cannot be invoiced and are excluded from the
>> Invoice Runs section, but they are showing in the count mechanic.
>>
>> How can I solve this?
>>
>
> ​In 9.2 you probably need to convert the count into a conditional sum:
>
> SELECT sum(CASE WHEN <boolean> THEN 1 ELSE 0 END) FROM data;
>
> You can probably do the same with count since it excludes nulls.
>
> SELECT count(NULLIF(invoice_status, 'Pending') FROM invoices;
>
> ​9.4 introduced a FILTER clause for Aggregate Expressions that can do this
> much more cleanly and efficiently.​
>
> ​http://www.postgresql.org/docs/9.4/static/sql-expressions.html​
>
> David J.
>
>
Thank you David...

Can you please show me how it would be with the new changes?

Thanks

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2016-03-01 01:23:39 Re: Function fixing - PostgreSQL 9.2
Previous Message david 2016-02-29 23:55:33 Looking for pure C function APIs for server extension: language handler and SPI