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
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a