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
