Em 28/11/14, Danilo Silva<danilo.dsg.go...@gmail.com> escreveu:
> Pessoal,
>
> Tenho um select que traz as colunas cliente e código da entrega, os
> registros são ordenados por cliente, é possível nesse mesmo select trazer o
> total de registros referentes ao cliente? Algo como:
>
> CLIENTE A | 1
> CLIENTE A | 2
> CLIENTE A | 3
> CLIENTE B | 4
> CLIENTE C | 6
> CLIENTE C | 7
>
> Queria que em uma terceira coluna retornasse a quantidade de registros, que
> no caso do CLIENTE A seria 3, CLIENTE B 1 e CLIENTE C 2, ficando algo como:
>
>
> CLIENTE A | 1 | 3
> CLIENTE A | 2 | 3
> CLIENTE A | 3 | 3
> CLIENTE B | 4 | 1
> CLIENTE C | 6 | 2
> CLIENTE C | 7 | 2
>
> Se eu utilizar um COUNT, serei obrigado a efetuar um GROUP BY, mas não
> serviria para o meu caso.
>


Ou use um subselect com o count(*) daquele cliente ou
SELECT c1.cliente, c1.cod_entrega, c2.total FROM tab_cliente c1 INNER
JOIN (SELECT cliente, count(*) AS total FROM tab_cliente GROUP BY
cliente) c2 ON (c1.cliente = c2.cliente);

Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a