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
