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

Responder a