Beto, Sobre esse campo acao que vc mencionou sobre a tal tabela, acho que não seria "elegante" da forma que descreveu tendo inicio e fim, seria melhor criar uma tabela com esses 2 valores (INICIO e FIM).
TABELA acao id_acao serial, descr_acao varchar2(20) TABELA sessao id_sessao serial, data_sessao_ini, data_sesssao_fim, id_usuario, id_acao integer Aí é contigo... []´s vh Em 2 de setembro de 2010 20:26, Beto Lima <betol...@gmail.com> escreveu: > Fabrízio > "Mas o que vc quer não é o intervalo linha a linha??? Pq se for linha a > linha > da tua tabela vc nao considerou o intervalo entre 10:11:00 e 10:15:00 que é > de 4 minutos... > Na verdade acho que expliquei mal, você ta certo deveria considerar sim. A > idéia é somar os minutos independente de quantas linhas tiver. > Pelo pouco que entendi desse modelo vc tem uma linha para inicio e outra > para fim... é isso??? Vc não tem algum campo que indica isso??? Um tipo ou > um auto-relacionamento??? Pq caso nao tenha e necessite fazer isso > "sequencialmente" creio que seja mais indicado escrever uma pequena PL para > resolver." > Eu tenho ainda mais uma coluna que criei (acao, varchar) onde ficam dois > valores: INICIO ou FIM > A idéia é: quando o cara inicia uma prova, insere nesta tabela a data e hora > do inicio. Ele tem a opção de pausar a prova e voltar quando quiser, amanhã > ou depois entendem. > Quando ele da a pausa, no caso o FIM, daí salva de novo mais uma linha com a > data e hora de saída. > E assim por diante, entrada e saída. > Com pl eu não sei como se faria isso, eu apenas queria somar os minutos que > o cara levou pra completar a prova. > > -------------------------------------------- > Osvaldo mais uma vez desculpa por esquecer do assunto, esqueci mesmo de > alterar. foi mal. > Como você determina que 10:11:00 é um término, e não um início de intervalo? > Apenas pela posição relativa? > Eu tenho uma coluna (acao, varchar) onde ficam dois valores: INICIO ou FIM. > é ali que sei quando o usuario entrou ou saiu. > com o uso de Window eu ainda não sei sobre isso, vou dar uma pesquisada. > -------------------------------------------- > Victor > "Remodele a sua tabela" > Eu até pensei em usar como você disse, só que a idéia seria não usar update > na tabela e sim somente inserts. No próprio titulo da mensagem diz: "Somar > horas tendo somente uma coluna". > Mas em último caso posso mudar a idéia e quem sabe funcione né!!! > Pra mim não teria problema em fazer como você disse, só que eu teria que > fazer verificações na aplicação. (fazer um select pra verificar se o > registro já existe e então atualizar a coluna com data de saída). É uma > idéia também... > > > > > > > Em 2 de setembro de 2010 12:00, > <pgbr-geral-requ...@listas.postgresql.org.br> escreveu: >> >> Send pgbr-geral mailing list submissions to >> pgbr-ge...@listas.postgresql.org.br >> >> 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 >> pgbr-geral-requ...@listas.postgresql.org.br >> >> You can reach the person managing the list at >> pgbr-geral-ow...@listas.postgresql.org.br >> >> 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: Re Re: Somar horas tendo somente uma coluna >> (Fabrízio de Royes Mello) >> 2. Re: Digest pgbr-geral, volume 21, assunto 4 (Osvaldo Kussama) >> 3. Re: Re Re: Somar horas tendo somente uma coluna (Victor Hugo) >> >> >> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Thu, 2 Sep 2010 10:37:42 -0300 >> From: Fabrízio de Royes Mello <fabriziome...@gmail.com> >> Subject: Re: [pgbr-geral] Re Re: Somar horas tendo somente uma coluna >> To: Comunidade PostgreSQL Brasileira >> <pgbr-geral@listas.postgresql.org.br> >> Message-ID: >> <aanlktimfrvh4wrwi2+vjhjh70enw_kxc4dqezdq0=...@mail.gmail.com> >> Content-Type: text/plain; charset="iso-8859-1" >> >> Em 2 de setembro de 2010 10:24, Beto Lima <betol...@gmail.com> escreveu: >> >> > Em 2 de setembro de 2010 10:22, Beto Lima <betol...@gmail.com> 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. >> >> >> >> >> >> >> Mas o que vc quer não é o intervalo linha a linha??? Pq se for linha a >> linha >> da tua tabela vc nao considerou o intervalo entre 10:11:00 e 10:15:00 que >> é >> de 4 minutos... >> >> Pelo pouco que entendi desse modelo vc tem uma linha para inicio e outra >> para fim... é isso??? Vc não tem algum campo que indica isso??? Um tipo ou >> um auto-relacionamento??? Pq caso nao tenha e necessite fazer isso >> "sequencialmente" creio que seja mais indicado escrever uma pequena PL >> para >> 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/20100902/33d2106f/attachment-0001.htm >> >> ------------------------------ >> >> Message: 2 >> Date: Thu, 2 Sep 2010 11:31:15 -0300 >> From: Osvaldo Kussama <osvaldo.kuss...@gmail.com> >> Subject: Re: [pgbr-geral] Digest pgbr-geral, volume 21, assunto 4 >> To: Comunidade PostgreSQL Brasileira >> <pgbr-geral@listas.postgresql.org.br> >> Message-ID: >> <aanlktikmh3mahc4s5d+xnpqt-mjpf1b99oy5hwd4=...@mail.gmail.com> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Em 2 de setembro de 2010 10:22, Beto Lima <betol...@gmail.com> 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 >> >> >> ------------------------------ >> >> Message: 3 >> Date: Thu, 2 Sep 2010 11:56:17 -0300 >> From: Victor Hugo <vh.cleme...@gmail.com> >> Subject: Re: [pgbr-geral] Re Re: Somar horas tendo somente uma coluna >> To: Comunidade PostgreSQL Brasileira >> <pgbr-geral@listas.postgresql.org.br> >> Message-ID: >> <aanlktikjlkqjxvp49hm-s76odvt-5piee-bnjrb5y...@mail.gmail.com> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Concordo plenamente com o Fabrizio, >> >> Remodele a sua tabela desta forma.. >> >> id, >> data_sessao_ini, >> data_sesssao_fim, >> id_usuario >> >> Aí daria para fazer isso, tendo como base um horário de inicio e fim. >> >> []´s >> vh >> >> >> >> Em 2 de setembro de 2010 10:37, Fabrízio de Royes Mello >> <fabriziome...@gmail.com> escreveu: >> > >> > >> > Em 2 de setembro de 2010 10:24, Beto Lima <betol...@gmail.com> escreveu: >> >> >> >> Em 2 de setembro de 2010 10:22, Beto Lima <betol...@gmail.com> >> >> 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. >> >>> >> >>> >> > >> > Mas o que vc quer não é o intervalo linha a linha??? Pq se for linha a >> > linha >> > da tua tabela vc nao considerou o intervalo entre 10:11:00 e 10:15:00 >> > que é >> > de 4 minutos... >> > Pelo pouco que entendi desse modelo vc tem uma linha para inicio e outra >> > para fim... é isso??? Vc não tem algum campo que indica isso??? Um tipo >> > ou >> > um auto-relacionamento??? Pq caso nao tenha e necessite fazer isso >> > "sequencialmente" creio que seja mais indicado escrever uma pequena PL >> > para >> > resolver. >> > -- >> > Fabrízio de Royes Mello >> >>> Blog sobre TI: http://fabriziomello.blogspot.com >> >>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello >> > >> > _______________________________________________ >> > pgbr-geral mailing list >> > pgbr-geral@listas.postgresql.org.br >> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > >> > >> >> >> >> -- >> []´s >> Victor Hugo >> >> >> ------------------------------ >> >> _______________________________________________ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> >> Fim da Digest pgbr-geral, volume 21, assunto 8 >> ********************************************** > > > > -- > Att. > Beto Lima > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- []´s Victor Hugo _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral