Re: [PERFORM] Hi

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: [PERFORM] Hi
Дата
Msg-id CAKFQuwaJ=xhBL4oWAayTj9-rUC4owNeopxi4c4HyW1WG-SnK8g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [PERFORM] Hi  (Daulat Ram <Daulat.Ram@cyient.com>)
Список pgsql-performance
On Thu, Aug 24, 2017 at 11:49 PM, Daulat Ram <Daulat.Ram@cyient.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.

В списке pgsql-performance по дате отправления:

Предыдущее
От: Felix Geisendörfer
Дата:
Сообщение: [PERFORM] 10x faster sort performance on Skylake CPU vs Ivy Bridge
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [PERFORM] 10x faster sort performance on Skylake CPU vs Ivy Bridge