Em 2 de setembro de 2010 10:22, Beto Lima <[email protected]> escreveu: > 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. >
Reforço o pedido de que não responda a mensagens digest. Você bagunça o histórico da lista. Como você determina que 10:11:00 é um término, e não um início de intervalo? Apenas pela posição relativa? Creio que com o uso de Window Functions você possa conseguir o resultado desejado. http://www.postgresql.org/docs/current/interactive/tutorial-window.html Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
