From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | Daulat Ram <Daulat(dot)Ram(at)cyient(dot)com> |
Cc: | "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: Hi |
Date: | 2017-08-25 14:42:20 |
Message-ID: | CAKFQuwaJ=xhBL4oWAayTj9-rUC4owNeopxi4c4HyW1WG-SnK8g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
On Thu, Aug 24, 2017 at 11:49 PM, Daulat Ram <Daulat(dot)Ram(at)cyient(dot)com> wrote:
> Hello,
>
>
>
> Would I request to help me on this query.
>
>
>
> SELECT 'Inspection Completed' as "ALL Status" ,COUNT(*) as "Number of
> Count" FROM ud_document WHERE status = 'Inspection Completed' union SELECT
> 'Pending', COUNT(*) FROM ud_document WHERE status = 'Pending' union SELECT
> 'Approved', COUNT(*) FROM ud_document WHERE status = 'Approved' union
> SELECT 'Rejected', COUNT(*) FROM ud_document WHERE status = 'Rejected'
> union SELECT 'Payment Due',count(*) from ud_document where payment_status =
> 'Payment Due' union SELECT 'Payment Done' ,count(*) from ud_document where
> payment_status = 'Payment Done'
>
>
>
> And now I want to exclude the uniqueid= '201708141701018' from the above
> query. how it can be ???
>
>
>
Your use of UNION here seems necessary. Just write a normal GROUP BY
aggregation query. You might need to get a bit creative since you are
collapsing status and payment_status into a single column. "CASE ... WHEN
... THEN ... ELSE ... END" is quite helpful for doing stuff like that. For
now I'll just leave them as two columns.
SELECT status, payment_status, count(*)
FROM ud_document
WHERE uniqueid <> '201708141701018'
GROUP BY 1, 2;
David J.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-08-25 15:07:21 | Re: 10x faster sort performance on Skylake CPU vs Ivy Bridge |
Previous Message | Felix Geisendörfer | 2017-08-25 14:12:26 | 10x faster sort performance on Skylake CPU vs Ivy Bridge |