Em 30 de abril de 2013 15:45, Danilo Silva <[email protected]>escreveu:
> > Em 30 de abril de 2013 15:34, Moisés P. Sena <[email protected]>escreveu: > > Boa tarde pessoal, >> >> Tenho dados em uma tabela, e um campo de chave primaria que é um >> TIMESTAMP e preciso calcular a média horária de uma coluna VALOR: >> >> create table dados ( >> datahora TIMESTAMP NOT NULL PRIMARY KEY, >> valor INT >> ); >> >> Cada registro é inserido de 10 em 10 minutos, preciso mostrar a média de >> cada hora. >> Um intervalo de datas será definido posteriormente. >> >> *EXEMPLO:* >> *datahora | valor* >> 2013-01-01 00:00:00 | 1 >> 2013-01-01 00:10:00 | 3 >> 2013-01-01 00:20:00 | 2 >> 2013-01-01 00:30:00 | 5 >> 2013-01-01 00:40:00 | 7 >> 2013-01-01 00:50:00 | 2 >> 2013-01-01 00:00:00 | 4 >> 2013-01-02 00:10:00 | 3 >> 2013-01-02 00:20:00 | 2 >> 2013-01-02 00:30:00 | 5 >> 2013-01-02 00:40:00 | 3 >> 2013-01-02 00:50:00 | 6 >> >> *Resultado esperado:* >> 2013-01-01 | 3.33 >> 2013-01-02 | 3.83 >> >> Alguma sugestão de como fazer isso direto no Postgres? >> Considerem que so tenho em maos o PSQL em um terminal Linux. >> >> >> Acho que seria algo como SELECT datahora, AVG(valor) FROM tabela GROUP > BY datahoraORDER BY datahor; > > []s > Danilo > Putz, falha nostra, esqueci que o campo *datahora* contém justamente a data e a hora, logo o group by fica sem sentido e não terás o resultado desejado, siga o exemplo que o Flavio passou, está correto. []s Danilo
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
