2013/2/4 Pedro B. Alves <[email protected]> > Pessoal, não sei se tem alguna função para solucuinar este problema. > > > SELECT campo1, campo2, campo3, campo4 FROM tabela > > gostaria de usar um distinct só dos 3 primeiros campos. > > > SELECT DISTINCT(campo1, campo2, campo3), campo4 FROM tabela > > > Quase como você escreveu:
SELECT DISTINCT ON(campo1, campo2, campo3) campo1, campo2, campo3, campo4 FROM tabela; Veja que isso implica num resultado não determinístico, ao menos para o campo4. Em geral, adiciona-se o mesmo no final do ORDER BY para "escolher" qual registro mostrar, nesse caso você "deve" informar os campos usados no DISTINCT ON no *início* do ORDER BY: SELECT DISTINCT ON(campo1, campo2, campo3) campo1, campo2, campo3, campo4 FROM tabela ORDER BY campo1, campo2, campo3, campo4 ...; Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
