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
