Re: [pgbr-geral] Select retornando coluna com total de registros
Não dá pra jogar a consulta no with e utilizá-lo? Tipo: with tabtemp ( ) select coluna1, coluna2, coluna3, (select count(*) from tabtemp b where b.coluna1=tabtemp=coluna1) as total from tabtemp Em 29 de novembro de 2014 06:07, Danilo Silva escreveu: > Em 28 de novembro de 2014 23:02, Osvaldo Kussama < > osvaldo.kuss...@gmail.com> escreveu: > > Em 28/11/14, Danilo Silva 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); >> >> Não ajuda no meu caso, pois tem o where (vem dos filtros de uma tela de > consulta), logo, eu não tenho os wheres fixos para colocar na subconsulta. > > []s > Danilo > > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- Marcos Thomaz da Silva Analista de Tecnologia da Informação ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Select retornando coluna com total de registros
Em 28 de novembro de 2014 23:02, Osvaldo Kussama escreveu: > Em 28/11/14, Danilo Silva 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); > > Não ajuda no meu caso, pois tem o where (vem dos filtros de uma tela de consulta), logo, eu não tenho os wheres fixos para colocar na subconsulta. []s Danilo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Select retornando coluna com total de registros
Em 28/11/14, Danilo Silva 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