On 22/11/2011 13:56, Moisés P. Sena wrote: > Boa tarde pessoal! > > os seguintes dados: > > $ select * from usodememoria; > data | mem > -------------------------------+------ > 2011-11-21 15:21:00 | 1038 > 2011-11-21 15:22:00 | 1049 > 2011-11-21 15:23:00 | 1049 > 2011-11-21 15:24:00 | 1049 > 2011-11-21 15:25:00 | 1052 > 2011-11-21 15:26:00 | 1054 > 2011-11-21 15:27:00 | 1054 > 2011-11-21 15:28:00 | 1054 > 2011-11-21 15:29:00 | 1065 > 2011-11-21 15:30:00 | 1080 > 2011-11-21 15:31:00 | 1080 > 2011-11-21 15:32:00 | 1073 > 2011-11-21 15:33:00 | 1065 > 2011-11-21 15:34:00 | 1054 > > Preciso fazer um select que me retorne, agrupando conforme o valor de > "mem" e a data, onde mem sofre alteração na data posterior. O resultado > abaixo: > > data | mem > -------------------------------+------ > 2011-11-21 15:21:00 | 1038 > 2011-11-21 15:22:00 | 1049 > 2011-11-21 15:25:00 | 1052 > 2011-11-21 15:26:00 | 1054 > 2011-11-21 15:29:00 | 1065 > 2011-11-21 15:30:00 | 1080 > 2011-11-21 15:32:00 | 1073 > 2011-11-21 15:33:00 | 1065 > 2011-11-21 15:34:00 | 1054 > > Já tentei de várias formas fazer com distinct e nao consegui chegar nem > perto disto. Nao estou conseguindo montar a logica do select. > > Alguém pode me ajudar com isto?? > > Abraços
Bom dia. Segue o select que aqui deu certo, qualquer coisa posta ai. select * from ( select distinct(tp.mem) as mem,min(tp.data) as data from tmp.tb_tmp tp group by tp.mem having count(tp.mem) > 1 --se quiser apenas os que tiveram modificacao ) as foo order by mem,data Espero que te ajude. Abraços! _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
