On 18/11/2014 21:54, Paulo wrote:
Olá pessoal,
Tenho um select que me retorna.
Usuário - ação - data_hora acesso:

"Luciano";"access";"2014-06-10 16:38:56"
"Luciano";"access";"2014-06-10 16:40:54"
"Luciano";"access";"2014-06-10 16:41:03"
"Luciano";"access";"2014-06-10 16:44:03"
"Luciano";"access";"2014-06-10 16:45:34"
"Luciano";"access";"2014-06-10 16:46:08"

Preciso  calcular linha a linha o tempo que usuário realizou a operação.

Usuário - ação - data_hora acesso - tempo:
"Luciano";"access";"2014-06-10 16:38:56"-tempo
"Luciano";"access";"2014-06-10 16:40:54",2:04
"Luciano";"access";"2014-06-10 16:41:03",1:04
"Luciano";"access";"2014-06-10 16:44:03",3:00>
"Luciano";"access";"2014-06-10 16:45:34",1:30
"Luciano";"access";"2014-06-10 16:46:08",1:34

Pensei usar Window Function mas parece que não suporta timestamp.

Alguém pode dar uma dica ?

Att,

Paulo.



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


Olá Paulo.

Se estes seus valores da coluna tempo, forem do tipo interval, vc pode usar o agregador sum() como ou não sendo window function. Caso eles não sejam, tente fazer o casting na sua query "::interval" para que os valores possam ser convertidos e serem usandos no sum() Exemplo: SUM(valor::interval) OVER(PART BY conta ORDER BY conta,valor) as Total,

Abraços e boa sorte!

Lucio Chiessi
Rio de Janeiro - Brasil
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a