2011/11/30 Bruno Silva <bemanuel...@gmail.com> > Foi mal, nova versão: > select data,mem from > ( > SELECT > row_number() > OVER (ORDER BY data ROWS BETWEEN 1 PRECEDING AND 1 > FOLLOWING ) as linha, > first_value(mem) > OVER ( ORDER BY data ROWS BETWEEN 1 PRECEDING AND 1 > FOLLOWING ) as anterior,* > FROM memo order by data ) as janela > WHERE anterior<>mem > ORDER BY data; > > data | mem > ---------------------+------ > 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 | 1049 > (8 rows) > > Este funcionou beleza, exceto pelo fato de que ele nao retorna o primeiro registro, no caso o de "2011-11-21 15:21:00". Mas tirando isto, funcionou perfeitamente. Para o primeiro registro nao tem muita importancia nao, mas, se voce souber um jeito de inclui-lo seria legal =).
Meu problema foi resolvido com este script. Agora vou estudar como a funcao OVER faz a magica aqui =). Obrigado a todos voces pela ajuda!! Abraços!!! Bruno E. A. Silva. > -- Moisés P. Sena (Analista e desenvolvedor de sistemas WEB e mobile) http://www.moisespsena.com http://linux.moisespsena.com
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral