rapidinho com window function pode ser assim
(SELECT
CASE WHEN RECPAGO = 1 THEN 'PAGO' ELSE 'ABERTO' END,
COUNT(CHAVEPRIMARIA) OVER (PATITION BY RECPAGO)
FROM RECEBER
WHERE
RECCLIENTE = 5444 AND
EXTRACT(YEAR FROM RECDATAVENCIMENTO) = '2011'
)UNION ALL(
SELECT
'TOTAL',
COUNT(*)
FROM RECEBER
WHERE
RECCLIENTE = 5444 AND
EXTRACT(YEAR FROM RECDATAVENCIMENTO) = '2011')
2012/9/26 Osvaldo Kussama <[email protected]>
> Em 26/09/12, Paulo<[email protected]> escreveu:
> > Ola pessoal,
> >
> > Tenho a seguinte sentença:
> >
> > SELECT
> >
> > count(*)
> >
> > FROM
> >
> > receber
> >
> > WHERE
> >
> > reccliente = 5444 and
> >
> > extract(year from recdatavencimento) = '2011'
> >
> > GROUP BY
> >
> > CASE
> >
> > WHEN recpago = 1 then 'Pago'
> >
> > WHEN recpago = 0 then 'Aberto'
> >
> > END
> >
> >
> >
> > RETORNA O SEGUINTE REGISTROS:
> >
> > 14 pago
> >
> > 22 aberto
> >
> >
> >
> > Preciso na mesma sentença retornar o total dos registros:
> >
> > Ex:
> >
> > 14 pago
> >
> > 22 aberto
> >
> > 36 total
> >
> >
> >
> > Alguém tem alguma ideia ¿
> >
>
>
> Num formato um pouco diferente. Verifique se atende:
>
> SELECT sum(CASE WHEN recpago = 1 then 1 ELSE 0 END) AS "Pago",
> sum(CASE WHEN recpago = 0 then 1 ELSE 0 END) AS "Aberto",
> count(*) AS "Total"
> FROM receber
> WHERE reccliente = 5444 and extract(year from recdatavencimento) = 2011;
>
> Osvaldo
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
--
Anselmo M. Silva
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral