Saulo o SELECT do Candido está perfeito acho que mostra perfeitamente
o que vc deseja.....

======================
Cleysson Lima
Desenvolvedor PHP
Tel: 61 8407 1875

Seja inteligente, use Software-livre!!! 
======================

Em 28/03/2010, Candido Vieira da Silva Neto <[email protected]>
escreveu:
> Saulo,
> 
> Se eu entendi bem o que você falou retirar a data da select list e da
> clausula de group by  deve funcionar. A sua consulta deve ficar assim:
> 
> select hora,avg(temperaturaambiente)  from medidas where (
> hora > '00:01' and hora < '23:59')  and  ((data between '2001-12-30' and
> '2002-0
> 1-02' ) or (data between '2002-12-30' and '2002-01-02')) and id_ponto=228
> group
> by hora;
> Olhando mais uma vez seu select e imaginando os dados que você tem na tabela
> não vejo necessidade do trecho (
> hora > '00:01' and hora < '23:59') da sua consulta, considerando que todos
> os horarios obrigatoriamente devem estar nesse intervalo, exceto o '00:00',
> o '00:01' e o '23:59' ,certo?
> 
> Um outro ponto é o trecho (data between '2002-12-30' and '2002-01-02') que
> não tem efetividade alguma já que não existe data maior ou igual a
> 30/12/2002 que seja menor ou igual a 02/01/2002.
> 
> Então, minha sugestão é que você teste a seguinte consulta e veja se os
> dados retornados são os que você espera:
> 
>  select hora, avg(temperaturaambiente) as media from medidas where (data
> between '2001-12-30' and '2002-01-02' ) and id_ponto=228 group by hora;
> Abraços,
> 
> Candido Vieira
> 
> 
> 2010/3/28 Saulo Venâncio <[email protected]>
> 
> > Olá amigos,
> > Gostaria de uma ajudinha, se fosse possível.
> > Tenho uma tabela assim:, com muitos dados.
> >
> >      data    |   hora   |         temperaturaambiente
> > ------------+----------+---------------------
> >  2002-01-01 | 00:30:00 | 23.80
> >  2002-01-02 | 16:30:00 | 31.80
> >
> > o que preciso fazer é um select que pegue a média dos dados de um
> > determinado periodo de tempo, por exemplo,
> > quero a média da termperaturaambiente  do intervalo de tempo entre 01 de
> > dezembro a 11 de janeiro  de cada pedaço de horário (00:30, 01:30, etc) de
> > todos os anos que tenho banco de dados.
> > olha so o que tentei, mas nao deu:
> >
> >  estacoesonline=# select data,hora,avg(temperaturaambiente)  from medidas
> > where (
> > hora > '00:01' and hora < '23:59')  and  ((data between '2001-12-30' and
> > '2002-0
> > 1-02' ) or (data between '2002-12-30' and '2002-01-02')) and id_ponto=228
> > group
> > by data, hora ;
> >
> > não dá certo pq ele agrupa por data individual e unica, e acaba fazendo da
> > temperatura do proprio dia.
> >
> > Obrigado pela ajuda pessoal.
> > Conto com voces.
> >
> > Saulo B. M.  Venâncio
> > -----
> > Graduando em Engenharia Controle e Automação
> > Técnologo de Processos Gerenciais
> > -----
> >
> >
> >
> > Em 27 de março de 2010 23:11, Angelo Augusto Frozza (*UNIPLAC) <
> > [email protected]> escreveu:
> >
> >>  Olá,
> >>
> >> Alguem sabe algum site onde é possível baixar bancos com dados para testes
> >> no PostgreSQL.
> >>
> >> {}s,
> >>
> >> ---
> >> Prof. Angelo Augusto Frozza, M.Sc.
> >> [email protected]
> >> http://uniplac.net/~frozza
> >> Coordenador do Curso de Sistemas de Informação
> >> Universidade do Planalto Catarinense - UNIPLAC
> >> Lages - S.C. - Brasil
> >> http://www.uniplac.net
> >>
> >>
> >> _______________________________________________
> >> pgbr-geral mailing list
> >> [email protected]
> >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >>
> >>
> >
> > _______________________________________________
> > pgbr-geral mailing list
> > [email protected]
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
> >
> 
> ----
> 
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a