Fabrizio e Victor
Seria quase isso.
Veja bem:

select
data_sessao::date,
max(data_sessao) - min(data_sessao)
from sessao
where id_usuario = 2
group by 1;

os valores são esses:

2010-09-02 10:01:00
2010-09-02 10:11:00
2010-09-02 10:15:00
2010-09-02 10:20:00

essa consulta me tráz assim:
2010-09-02 00:19:00
Ele está pegando o máximo (10:20:00) e diminuindo do mínimo (10:01:00).
Eu queria que o resultado fosse: 00:15:00
10:01:00 até 10:11:00 daria 10 minutos e 10:15:00 até 10:20:00 daria 5
minutos.
Somando daria 15 minutos.








Em 2 de setembro de 2010 09:25, <[email protected]
> escreveu:

> Send pgbr-geral mailing list submissions to
>        [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> or, via email, send a message with subject or body 'help' to
>        [email protected]
>
> You can reach the person managing the list at
>        [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of pgbr-geral digest..."
>
>
> Tópicos de Hoje:
>
>   1. Re: Somar horas tendo somente uma coluna (Alexsander Rosa)
>   2. Re: Somar horas tendo somente uma coluna (Fabrízio de Royes Mello)
>   3. slides sobre novidades da versão 9.0 (Leonardo Cezar)
>   4. pg_dump -W (Alisson Viegas)
>   5. Como converter DOY em data (AAAA-MM-DD)? (Eloi Ribeiro)
>   6. identificando tabelas pelo numero (Jorge Luiz)
>   7. Re: Como converter DOY em data (AAAA-MM-DD)? (Eloi Ribeiro)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 1 Sep 2010 16:25:49 -0300
> From: Alexsander Rosa <[email protected]>
> Subject: Re: [pgbr-geral] Somar horas tendo somente uma coluna
> To: [email protected],    Comunidade PostgreSQL Brasileira
>        <[email protected]>
> Message-ID:
>        
> <[email protected]<aanlktik1-35gyeysp613b1s3p8vat%[email protected]>
> >
> Content-Type: text/plain; charset="iso-8859-1"
>
> Poderia ser uma diferença entre um max() e um min() numa subquery.
>
> Em 1 de setembro de 2010 15:41, Fabrízio de Royes Mello <
> [email protected]> escreveu:
>
> >
> > Em 1 de setembro de 2010 15:31, Victor Hugo <[email protected]
> >escreveu:
> >
> >
> >> Vc quer diminuir usando função de agregação SUM ??? SUM é para somar...
> >>
> >> é isso mesmo ??? Se não for, resolva com a query abaixo
> >>
> >> SELECT SUM(EXTRACT (minutes from data_sessao))
> >> FROM horas where id_usuario = 4
> >>
> >> aí no caso ele irá extrair os minutos do primeiro valor que é 15 + do
> >> segundo valor que é 17 contabilizando um total de 32 minutos.
> >>
> >>
> > Exato... só exemplificando o que pode acontecer:
> >
> > postg...@bdteste=# create table sessao (id serial, data_sessao
> timestamp,
> > id_usuario integer);
> > NOTICE:  CREATE TABLE will create implicit sequence "sessao_id_seq" for
> > serial column "sessao.id"
> > CREATE TABLE
> > postg...@bdteste=# insert into sessao (data_sessao, id_usuario) values
> > ('2010-09-01 14:15:00.000000', 4), ('2010-09-01 14:17:00.000000',
> 4);INSERT
> > 0 2
> > postg...@bdteste=# insert into sessao (data_sessao, id_usuario) values
> > ('2010-09-02 13:10:00.000000', 4), ('2010-09-02 13:18:00.000000', 4);
> > INSERT 0 2
> > postg...@bdteste=# select max(data_sessao) - min(data_sessao) from
> sessao;
> >  ?column?
> > ----------
> >  23:03:00
> > (1 row)
> >
> >
> > Nesse caso foi verificado o intervalo de tempo entre a menor e maior
> > data/hora, mas creio que isso não seja o desejado, então quem sabe:
> >
> > postg...@bdteste=# select data_sessao::date, max(data_sessao) -
> > min(data_sessao) from sessao group by 1;
> >  data_sessao | ?column?
> > -------------+----------
> >  2010-09-02  | 00:08:00
> >  2010-09-01  | 00:02:00
> > (2 rows)
> >
> >
> > Ou ainda:
> >
> > postg...@bdteste=# select sum(intervalo) from (select data_sessao::date,
> > max(data_sessao) - min(data_sessao) as intervalo from sessao group by 1)
> as
> > tempo;
> >    sum
> > ----------
> >  00:10:00
> > (1 row)
> >
> >
> > Dai depende dos teus requisitos!
> >
> > --
> > Fabrízio de Royes Mello
> > >> Blog sobre TI: http://fabriziomello.blogspot.com
> > >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
> >
> >
> > _______________________________________________
> > pgbr-geral mailing list
> > [email protected]
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
> >
>
>
> --
> Atenciosamente,
> Alexsander da Rosa
> Linux User #113925
>
> "Extremismo na defesa da liberdade não é defeito.
> Moderação na busca por justiça não é virtude."
> -- Barry Goldwater
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL:
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100901/837f7d23/attachment-0001.htm
>
> ------------------------------
>
> Message: 2
> Date: Wed, 1 Sep 2010 16:32:14 -0300
> From: Fabrízio de Royes Mello <[email protected]>
> Subject: Re: [pgbr-geral] Somar horas tendo somente uma coluna
> To: Alexsander Rosa <[email protected]>
> Cc: Comunidade PostgreSQL Brasileira
>        <[email protected]>
> Message-ID:
>        <[email protected]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Em 1 de setembro de 2010 16:25, Alexsander Rosa
> <[email protected]>escreveu:
>
> > Poderia ser uma diferença entre um max() e um min() numa subquery.
> >
> >
> Poderia sim, mas vai depender do problema que quer se resolver... até agora
> fizemos apenas sugestões baseado numa vaga explicação... se observarmos o
> último exemplo que citei usei uma subquery para somar os intervalos de
> tempo
> dia a dia, mas será essa a solução do problema???
>
> Fala ai Beto, qual a sua real necessidade!!!! Que problema vc precisa
> resolver???
>
> --
> Fabrízio de Royes Mello
> >> Blog sobre TI: http://fabriziomello.blogspot.com
> >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL:
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100901/7e432e43/attachment-0001.htm
>
> ------------------------------
>
> Message: 3
> Date: Wed, 1 Sep 2010 16:47:50 -0300
> From: Leonardo Cezar <[email protected]>
> Subject: [pgbr-geral] slides sobre novidades da versão 9.0
> To: Comunidade PostgreSQL Brasileira
>        <[email protected]>
> Message-ID:
>        <[email protected]>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Seguem slides de uma apresentação que a Dextra fez na Unicamp sobre as
> novidades da versão 9.0 do postgres.
>
> http://www.slideshare.net/dextra/dextra-novidades-postgresql-90
>
> -Leo
> --
> Leonardo Cezar
> http://www.aslid.org.br
> http://postgreslogia.wordpress.com
>
>
> ------------------------------
>
> Message: 4
> Date: Wed, 1 Sep 2010 17:05:53 -0300
> From: "Alisson Viegas" <[email protected]>
> Subject: [pgbr-geral] pg_dump -W
> To: "PostgreSQL" <[email protected]>
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Boa tarde, pessoal.
> Não sei se esta pergunta já foi respondida, pois eu não estava recebendo
> e-mails da lista.
>
>
>
> Eu uso os seguintes parâmetros para backup com pg_dump:
> --host <host> --port 5432 --username agente --format custom --blobs
> --verbose --file <nomedoarquivo>
>
> Se uma pessoa tem o arquivo de backup em mãos, ela consegue restaurá-lo em
> outra máquina sem dificuldade alguma. Já que o mesmo não pede senha.
>
> Tentei usar o parâmetro –W mas deu na mesma.
>
> Há alguma forma de colocar uma senha neste backup?
>
>
>
>
>
> At.te,
> Alisson Viegas
> Acsiv Sistemas
>
>
>
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL:
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100901/6c1781f8/attachment-0001.htm
>
> ------------------------------
>
> Message: 5
> Date: Thu, 2 Sep 2010 10:56:27 +0200
> From: Eloi Ribeiro <[email protected]>
> Subject: [pgbr-geral] Como converter DOY em data (AAAA-MM-DD)?
> To: Lista PostgreSQL Brasil <[email protected]>
> Message-ID:
>        
> <[email protected]<aanlktimx8ed%2bvxuhaq_c12nyaoo%[email protected]>
> >
> Content-Type: text/plain; charset="iso-8859-1"
>
> Ola!
>
> Numa tabela tenho o campo 'year' (smallint) com o ano e o campo 'day_j'
> (smallint) com o dia do ano, de 1 a 366.
> Como faço para passar a data ISO 8601 (AAAA-MM-DD)?
>
> Obrigado pela atenção. Cumprimentos,
>
> Eloi Ribeiro
> GIS Analyst
> 39,45º -4,40º
> http://eloiribeiro.wordpress.com
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL:
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100902/1ddc5cbb/attachment-0001.htm
>
> ------------------------------
>
> Message: 6
> Date: Thu, 02 Sep 2010 09:21:22 -0300
> From: Jorge Luiz <[email protected]>
> Subject: [pgbr-geral] identificando tabelas pelo numero
> To: Comunidade PostgreSQL Brasileira
>        <[email protected]>
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> Ola Pessoal,
>
>
>    Existe algum tipo de select nos catalogos de sistema do postgresql
> onde consigo identificar o que significa o numero dentro da basta
> data/base/
>
>    Exemplo:
>       Eu sei que o numero /data/base/16396 é referente a minha base de
> dados principal, porem, preciso saber o que é o /data/base/16396/307497757
>
>    Tipo, sei que deve ser uma tabela ou indice dessa base, porem,
> precisava saber com certeza a qual se refere esse numero.
>
> Alguem poderia me ajudar, por favor. Obrigado.
>
>
> ------------------------------
>
> Message: 7
> Date: Thu, 2 Sep 2010 14:23:36 +0200
> From: Eloi Ribeiro <[email protected]>
> Subject: Re: [pgbr-geral] Como converter DOY em data (AAAA-MM-DD)?
> To: Lista PostgreSQL Brasil <[email protected]>
> Message-ID:
>        <[email protected]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Bem respondo a mim mesmo.
>
> Como tinha outro campo (tai93) com 'Seconds counted from UTC midnight Jan.
> 1, 1993' fiz:
>
> UPDATE tabela SET date = CAST(tai93/86400 AS INT) + CAST('1993-01-01' AS
> DATE);
>
> E já tenho a data no formato desejado.
>
> Obrigado, Ciao,
>
> Eloi Ribeiro
> GIS Analyst
> 39,45º -4,40º
> http://eloiribeiro.wordpress.com
>
>
> 2010/9/2 Eloi Ribeiro <[email protected]>
>
> > Ola!
> >
> > Numa tabela tenho o campo 'year' (smallint) com o ano e o campo 'day_j'
> > (smallint) com o dia do ano, de 1 a 366.
> > Como faço para passar a data ISO 8601 (AAAA-MM-DD)?
> >
> > Obrigado pela atenção. Cumprimentos,
> >
> > Eloi Ribeiro
> > GIS Analyst
> > 39,45º -4,40º
> > http://eloiribeiro.wordpress.com
> >
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL:
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100902/150ede87/attachment.htm
>
> ------------------------------
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
> Fim da Digest pgbr-geral, volume 21, assunto 4
> **********************************************
>



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

Responder a