quinta-feira, 7 de agosto de 2014

Especificar Campos na Cláusula "DISTINCT" no PostgreSQL

Olá, Boa Noite...

Aqui vai mais uma dica, agora para quem trabalha com PostgreSQL.

Bem, esta dica foi testada no PostgreSQL, não sei se serve para outros SGDBs.

Para quem trabalha, ao menos um pouco com SQL, com certeza já usou e muito a cláusula "distinct", porém na sua forma mais comum de uso:

     select distinct campo_A, campo_B, campo_C, campo_D from minha_Tabela

Mas desta forma não servia para mim, pois eu precisava fazer um "distinct" por somente 02(dois) campos.
Então encontrei na internet uma dica sobre como usar o "Distinct On":

     select distinct on (campo_A, campo_B)
         campo_A, campo_B, campo_C, campo_D from minha_Tabela

Isso faz com que o "distinct" seja feito somente pelos campos "campo_A e campo_B", assim também poderia ser feito com apenas 01(um) ou mais de 02(dois) campos.

OBS.: O único detalhe, é que o(s) campo(s) especificado(s) no "distinct on" DEVE(M) estar entre os campos do "select".

    Fonte.: Esta dica foi baseada em: "http://rodrigomaia.net/2011/03/14/determinar-campos-do-distinct-no-postgres/" e alterado para melhor entendimento.


Esta foi a dica de hoje, se for útil, comentem.

Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.

Atenciosamente
Dica Chave.

2 comentários:

  1. Respostas
    1. Muito obrigado pelo comentário.
      Fique a vontade para comentar e sugerir conteúdos....

      Atenciosamente
      Dica Chave.

      Excluir