Re: [pgbr-geral] agrupamento de dados por afinidade
pode usar a contrib pg_trgm http://www.postgresql.org/docs/9.4/static/pgtrgm.html E usar a saida do similarity como fator de agrupamento Em 13 de julho de 2015 11:53, Rebert Tomaz Aquino rebertto...@gmail.com escreveu: alguém sabe se existem funções que agrupem informações parecidas.. ou até alguem tem alguma lógica que ajude tipo.. tenho a seguinte estrutura: 5 mil linhas 100 colunas sendo id,v1 v100 xxx,xxx problema: quero saber os 5 registros que tem os valores da coluna v59 parecidos .. de preferencia fazer grupos distintos.. alguma solução? -- Rebert Tomaz ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- [image: CasBrasil Conexão Farma] http://www.casbrasil.com.br/ [image: CasBrasil Conexão Farma] Fernando Foster Silva ferfos...@gmail.com +55 19 99222-0436 skype: casbrasil00 CasBrasil Conexão Farma +55 19 3368-4446 Avenida Itatiaia, 201, Jardim ItatiaiaCampinas - São Paulo http://www.casbrasil.com.br Fale com nossa equipe por skype casbrasil1 casbrasil02 casbrasil3 casbrasil4 casbrasil05 This e-mail message may contain confidential or legally privileged information and is intended only for the use of the intended recipient(s). Any unauthorized disclosure, dissemination, distribution, copying or the taking of any action in reliance on the information herein is prohibited. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, or contain viruses. Anyone who communicates with us by e-mail is deemed to have accepted these risks. Company Name is not responsible for errors or omissions in this message and denies any responsibility for any damage arising from the use of e-mail. Any opinion and other statement contained in this message and any attachment are solely those of the author and do not necessarily represent those of the company. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Agrupamento
Precisava fazer uma agrupamento tipo produtos que o código do produto comece com V01 em seguida V02 Fiz o seguinte SELECT SUBSTR(CODIGO, 1, 3) CODIGO,DESCRICAO FROM CADPROD GROUP BY SUBSTR(CODIGO, 1, 3) Mas esta dando o seguinte erro ERRO: coluna CADPROD.DESCRICAO deve aparecer na clausula GROUP BY ou ser utilizada em uma funcao de agregacao Se você quer agrupar a parte inicial do código, você precisa ter uma cláusula agregadora nas demais colunas que você não quer agregar. Por exemplo, você pode contar quantos produtos você tem de cada um dos seus tipos: SELECT substr(CODIGO,1,3), count(DESCRICAO) FROM CADPROD GROUP BY SUBSTR(CODIGO,1,3); irá funcionar porque a função count é agregadora. Se você só indicar a coluna DESCRICAO ela precisa participar do agrupamento (GROUP BY) pois o PostgreSQL precisa saber o que fazer com essa coluna. []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Agrupamento
Amigo conseguiu resolver seu problema ai? Se não ... explica melhor o que você está precisando. Não consegui entender se você está querendo mostrar somente os tipos de produtos, e colocar um quantitivo de quantos produtos tem em cada grupo. Ou se você quer mostrar todos os produtos de cada grupo, listados por ordem do tipo de grupo. Att Colli Em 10 de novembro de 2011 09:15, Flavio Henrique Araque Gurgel fha...@gmail.com escreveu: Precisava fazer uma agrupamento tipo produtos que o código do produto comece com V01 em seguida V02 Fiz o seguinte SELECT SUBSTR(CODIGO, 1, 3) CODIGO,DESCRICAO FROM CADPROD GROUP BY SUBSTR(CODIGO, 1, 3) Mas esta dando o seguinte erro ERRO: coluna CADPROD.DESCRICAO deve aparecer na clausula GROUP BY ou ser utilizada em uma funcao de agregacao Se você quer agrupar a parte inicial do código, você precisa ter uma cláusula agregadora nas demais colunas que você não quer agregar. Por exemplo, você pode contar quantos produtos você tem de cada um dos seus tipos: SELECT substr(CODIGO,1,3), count(DESCRICAO) FROM CADPROD GROUP BY SUBSTR(CODIGO,1,3); irá funcionar porque a função count é agregadora. Se você só indicar a coluna DESCRICAO ela precisa participar do agrupamento (GROUP BY) pois o PostgreSQL precisa saber o que fazer com essa coluna. []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Agrupamento
2011/11/10 Flavio flavio.gv...@gmail.com: Então na verdade eu preciso Agrupar os produtos que comecem com o mesmo código exemplo V01 V02 V03 Está parecendo que não entendeste agrupamento, visto que não usaste uma função de agregação. Por exemplo, poderias contar os produtos, mas não colocaste um COUNT (). ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Agrupamento
Pessoal preciso de uma ajuda tenho a seguinte tabela V0101 | QUEIJO V0102 | QUEIJO 01 V0105 | QUEIJO 02 V0110 | QUEIJO 03 V0130 | QUEIJO 04 V0140 | QUEIJO 05 V0141 | QUEIJO 06 V0201 | PRESUNTO V0202 | PRESUNTO 01 V0210 | PRESUNTO 02 V0250 | PRESUNTO 03 V0301 | PRESUNTO 04 V0325 | PRESUNTO 05 V0330 | PRESUNTO 06 V0340 | PRESUNTO 07 V0350 | PRESUNTO 08 V0401 | PASTEL V0405 | PASTEL 01 V0410 | PASTEL 02 V0415 | PASTEL 03 F5501 | FARINHA F5505 | FARINHA 01 F5510 | FARINHA 02 F5515 | FARINHA 03 Onde o V0101 é o código Precisava fazer uma agrupamento tipo produtos que o código do produto comece com V01 em seguida V02 Use Window Functions, exemplo: CREATE TABLE foo ( codigo VARCHAR(10) PRIMARY KEY, descricao VARCHAR(20) NOT NULL ); INSERT INTO foo VALUES ('V0101','QUEIJO'), ('V0102','QUEIJO 01'), ('V0105','QUEIJO 02'), ('V0110','QUEIJO 03'), ('V0130','QUEIJO 04'), ('V0140','QUEIJO 05'), ('V0141','QUEIJO 06'), ('V0201','PRESUNTO'), ('V0202','PRESUNTO 01'), ('V0210','PRESUNTO 02'), ('V0250','PRESUNTO 03'), ('V0301','PRESUNTO 04'), ('V0325','PRESUNTO 05'), ('V0330','PRESUNTO 06'), ('V0340','PRESUNTO 07'), ('V0350','PRESUNTO 08'), ('V0401','PASTEL'), ('V0405','PASTEL 01'), ('V0410','PASTEL 02'), ('V0415','PASTEL 03'), ('F5501','FARINHA'), ('F5505','FARINHA 01'), ('F5510','FARINHA 02'), ('F5515','FARINHA 03'); SELECT codigo, descricao, count(codigo) OVER (PARTITION BY substr(codigo,1,3)) FROM foo; ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] agrupamento
Da para fazer da seguinte forma vinicius... Tomei o nome da tabela como 'teste'. A consulta ficou assim select placa, tipo, array_to_string(array(select codigo from teste t where t.tipo = teste.tipo and t.placa = teste.placa),',') as codigo from teste group by placa, tipo Dessa forma vc consegue fazer isso q vc qr Espero ter ajudado... Fabio Henrique Em 27/4/2009 08:19, Vinicius escreveu: Estou precisando fazer um agrupamento da seguinte forma: Tenho os registros: Placa Tipo Codigos(varchar) AAA 11,2,3 AAA 14,5,6 Preciso agrupar por Placa e Tipo, mas ter os valores do registro 1 e 2 no campo codigos. AAA 11,2,3,4,5,6 __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] agrupamento
oi to tentendo instalar na minha maquina o postgre mas ele pede uma senha que nao tenho isto no meio da instalação vc sabe a senha default do programa? 2009/4/27 Fabio Henrique f_h_...@yahoo.com.br Da para fazer da seguinte forma vinicius... Tomei o nome da tabela como 'teste'. A consulta ficou assim select placa, tipo, array_to_string(array(select codigo from teste t where t.tipo = teste.tipo and t.placa = teste.placa),',') as codigo from teste group by placa, tipo Dessa forma vc consegue fazer isso q vc qr Espero ter ajudado... Fabio Henrique Em 27/4/2009 08:19, Vinicius escreveu: Estou precisando fazer um agrupamento da seguinte forma: Tenho os registros: Placa Tipo Codigos(varchar) AAA 11,2,3 AAA 14,5,6 Preciso agrupar por Placa e Tipo, mas ter os valores do registro 1 e 2 no campo codigos. AAA 11,2,3,4,5,6 __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] agrupamento
Essa senha é utilizada na conexão com o banco de dados. Não tem nada a ver com a instalação. Na verdade, essa será a senha do usuário padrão de nome postgres. MarceloG - Original Message - From: Ricardo Suzuki To: Comunidade PostgreSQL Brasileira Sent: Monday, April 27, 2009 11:03 AM Subject: Re: [pgbr-geral] agrupamento oi to tentendo instalar na minha maquina o postgre mas ele pede uma senha que nao tenho isto no meio da instalação vc sabe a senha default do programa? 2009/4/27 Fabio Henrique f_h_...@yahoo.com.br Da para fazer da seguinte forma vinicius... Tomei o nome da tabela como 'teste'. A consulta ficou assim select placa, tipo, array_to_string(array(select codigo from teste t where t.tipo = teste.tipo and t.placa = teste.placa),',') as codigo from teste group by placa, tipo Dessa forma vc consegue fazer isso q vc qr Espero ter ajudado... Fabio Henrique Em 27/4/2009 08:19, Vinicius escreveu: Estou precisando fazer um agrupamento da seguinte forma: Tenho os registros: Placa Tipo Codigos(varchar) AAA 11,2,3 AAA 14,5,6 Preciso agrupar por Placa e Tipo, mas ter os valores do registro 1 e 2 no campo codigos. AAA 11,2,3,4,5,6 __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Nenhum vírus encontrado nessa mensagem recebida. Verificado por AVG - www.avgbrasil.com.br Versão: 8.5.287 / Banco de dados de vírus: 270.12.4/2082 - Data de Lançamento: 04/27/09 06:19:00 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] agrupamento
Valeu pela ajuda fabio... Fabio Henrique wrote: Da para fazer da seguinte forma vinicius... Tomei o nome da tabela como 'teste'. A consulta ficou assim select placa, tipo, array_to_string(array(select codigo from teste t where t.tipo = teste.tipo and t.placa = teste.placa),',') as codigo from teste group by placa, tipo Dessa forma vc consegue fazer isso q vc qr Espero ter ajudado... Fabio Henrique Em 27/4/2009 08:19, Vinicius escreveu: Estou precisando fazer um agrupamento da seguinte forma: Tenho os registros: Placa Tipo Codigos(varchar) AAA 11,2,3 AAA 14,5,6 Preciso agrupar por Placa e Tipo, mas ter os valores do registro 1 e 2 no campo codigos. AAA 11,2,3,4,5,6 __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Vinicius D. Barba Totalsat - Departamento TI +55 41 2109-7716 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral