Em 13/05/11, Magno Junior<[email protected]> escreveu:
> Em 13 de maio de 2011 11:08, Osvaldo Kussama
> <[email protected]>escreveu:
>
>> Em 13/05/11, Fabiano Fernandes<[email protected]> escreveu:
>> > Olá a todos!
>> >
>> > Continuando na minha jornada ...
>> >
>> > Tenho o seguinte dados ....
>> >
>> >
>> > description   |    value       | datetime
>> > A                      2              2011-01-01 12:02:25.514719-02
>> > B                      5              2011-04-19 15:50:16.915027-03
>> > B                      6              2011-01-01 12:02:25.514719-02
>> > C                      3              2011-01-01 12:02:25.514719-02
>> > D                      8              2011-01-01 12:02:25.514719-02
>> > D                      4              2011-04-19 15:50:16.915027-03
>> >
>> >
>> > Eu preciso que seja retornado da seguinte forma
>> >
>> >
>> > description   |    value       | datetime
>> > A                      2              2011-01-01 12:02:25.514719-02
>> > B                      5              2011-04-19 15:50:16.915027-03
>> > C                      3              2011-01-01 12:02:25.514719-02
>> > D                      4              2011-04-19 15:50:16.915027-03
>> >
>> > Ou seja, estou desprezando os valores duplicado mais antigo....
>> >
>> > Alguém tem alguma dica para fazer isso?
>> >
>>
>>
>> Utilize DISTINCT ON (datetime) e ORDER BY datetime DESC.
>>
>> SELECT DISTINCT ON (datetime) description, value, datetime
>>  FROM sua_tabela ORDER BY datetime DESC;
>>
>> Osvaldo
>> _______
>>
>
> mas assim vai trazer o mais recente?
>


Não, por que eu enviei o comando errado.

O correto é:

SELECT DISTINCT ON (descrition) description, value, datetime
  FROM sua_tabela ORDER BY description ASC, datetime DESC;

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a