Fala Newton, blz...
Cara... eu fiz um teste aqui e funcionou da seguinte forma:

--Somatório dos multiplos de 15 min
select  extract(hour from tempo),
case floor(extract(minute from tempo)/15)    -- esse calculo permite saber
em qual parte da hora o minuto está
when 0 then '0 - 14'
when 1 then '15 - 29'
when 2 then '30 - 44'
when 3 then '45 - 59'
end as precisao ,
sum(valor)
from teste01
group by 1, 2
order by 1, 2


Dá uma adaptada pro seu caso e me dá um retorno se funcionou ou não blz?
Este exemplo está com precisão de 15 minutos.

Abraço a todos da lista, mas principalmente a meus vizinhos (sou piauiense -
ê saudade!!!) maranhenses como o Newton.


2010/1/15 Newton Teixeira do Nascimento Júnior <
[email protected]>

>  Olá, comunidade, preciso de ajuda com um SQL.
>
> Tenho uma tabela com a seguinte forma:
>
>
>
> CREATE TABLE bhpas_h_2009_02_02
>
> (
>
>   bh_dthr timestamp with time zone,
>
>   bh_chave integer,
>
>   bh_variacao integer,
>
>   valest real,
>
>   valor real
>
> )
>
> Os dados dessa tabela são inseridos em 10 e 10 segundos por um sistema
> externo.
>
> Preciso gerar um relatório com as estatísticas mínimo,media e Maximo com os
> valores do campo <valor> com uma precisão definida pelo usuário.
>
> Exemplo: quero saber as estatísticas com uma precisão de 5 minutos; com 10
> minutos, 15 minutos; 20 minutos; 30 minutos; 60 minutos; 120 minutos; etc
>
>
>
> Sei fazer o SQL por hora (60 minutos) e por minuto (01 minuto) com o
> seguinte SQL (vide o SQL abaixo), mas são sei, por exemplo, com precisão de
> 15 minutos, 05 minutos ou 30 minutos (precisão genérica em minutos).
>
>
>
> SELECT EXTRACT(MINUTE FROM Y.bh_dthr) as n, MIN(Y.valor), CAST(AVG(Y.valor)
> as real), MAX(Y.valor) FROM PAS_R X, bhpas_h_2009_02_02
>
> Y WHERE X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R
> WHERE ID = <id_medida>' AND bh_dthr_fim IS NULL) GROUP BY EXTRACT(MINUTE
> FROM Y.bh_dthr) ORDER BY n;
>
>
>
> SELECT EXTRACT(HOUR FROM Y.bh_dthr) as n, MIN(Y.valor), CAST(AVG(Y.valor)
> as real), MAX(Y.valor) FROM PAS_R X, bhpas_h_2009_02_02
>
> Y WHERE X.BH_CHAVE=Y.BH_CHAVE AND Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R
> WHERE ID = <id_medida>' AND bh_dthr_fim IS NULL) GROUP BY EXTRACT(HOUR FROM
> Y.bh_dthr) ORDER BY n;
>
>
>
> Eis dados dessa tabela em um dia entre as 20:00hs e 21:00hs para exemplo
> (tirei algumas linhas pelo tamanho – só pra dar a ideia). Agradeço desde já
> pela atenção e estou no aguardo online;
>
>
>
> SELECT DISTINCT Y.bh_dthr, Y.valor FROM PAS_R X, bhpas_h_2010_01_08 Y WHERE
> X.BH_CHAVE=Y.BH_CHAVE AND
>
> Y.BH_CHAVE = (SELECT BH_CHAVE FROM PAS_R WHERE ID = 'LDCE201MQ' AND
> bh_dthr_fim IS NULL) and Y.bh_dthr BETWEEN '2010-01-08 20:00:00' AND
> '2010-01-08 21:00:00';
>
>
>
> "2010-01-08 20:00:20-03";77.477
>
> "2010-01-08 20:00:30-03";75.7611
>
> "2010-01-08 20:01:10-03";81.0406
>
> "2010-01-08 20:01:20-03";75.7611
>
> "2010-01-08 20:01:30-03";76.949
>
> "2010-01-08 20:01:50-03";78.1369
>
> "2010-01-08 20:02:00-03";74.7052
>
> "2010-01-08 20:02:20-03";77.8729
>
> "2010-01-08 20:02:50-03";75.4971
>
> "2010-01-08 20:03:20-03";76.685
>
> "2010-01-08 20:03:30-03";74.8372
>
> "2010-01-08 20:03:40-03";77.8729
>
> "2010-01-08 20:03:50-03";73.6493
>
> "2010-01-08 20:04:00-03";75.4971
>
> "2010-01-08 20:04:10-03";79.1928
>
> "2010-01-08 20:04:20-03";76.0251
>
> "2010-01-08 20:04:40-03";76.1571
>
> "2010-01-08 20:05:00-03";75.2332
>
> "2010-01-08 20:05:10-03";72.7254
>
> "2010-01-08 20:05:40-03";71.0095
>
> "2010-01-08 20:05:50-03";76.4211
>
> "2010-01-08 20:06:20-03";74.9692
>
> "2010-01-08 20:06:50-03";73.1214
>
> "2010-01-08 20:07:00-03";76.4211
>
> "2010-01-08 20:07:30-03";73.5173
>
> "2010-01-08 20:07:40-03";74.7052
>
> "2010-01-08 20:07:50-03";69.4257
>
> "2010-01-08 20:08:00-03";74.9692
>
> "2010-01-08 20:08:10-03";80.3807
>
> "2010-01-08 20:08:20-03";69.5577
>
> "2010-01-08 20:08:30-03";75.3652
>
> "2010-01-08 20:08:40-03";72.5934
>
> "2010-01-08 20:08:50-03";77.8729
>
> "2010-01-08 20:09:00-03";74.4412
>
> "2010-01-08 20:09:10-03";75.7611
>
> "2010-01-08 20:09:20-03";82.6245
>
> "2010-01-08 20:09:30-03";77.345
>
> "2010-01-08 20:09:40-03";72.0655
>
> "2010-01-08 20:15:20-03";78.5329
>
> "2010-01-08 20:15:30-03";73.1214
>
> "2010-01-08 20:15:50-03";76.949
>
> "2010-01-08 20:16:10-03";72.9894
>
> "2010-01-08 20:16:20-03";78.2689
>
> "2010-01-08 20:46:10-03";71.8015
>
> "2010-01-08 20:46:20-03";68.5018
>
> "2010-01-08 20:47:10-03";65.466
>
> "2010-01-08 20:59:00-03";66.39
>
> "2010-01-08 20:59:20-03";69.1617
>
> "2010-01-08 20:59:40-03";65.0701
>
> "2010-01-08 20:59:50-03";70.4816
>
> "2010-01-08 21:00:00-03";64.9381
>
>
>
> *Newton Teixeira do Nascimento Junior
> Analista de Sistemas - CMAO
> **Centrais Elétricas do Norte do Brasil S/A - Eletronorte
> Av. dos Jequitibás, s/nº - Cohebe do Sacavém*
> *São Luís-MA - 65043-380
> Tel: 3217-5006 / 81330104
> **e-mail: [email protected]*
>
>
>
>
> Aviso:
> "O emitente desta mensagem é responsável por seu conteúdo e endereçamento.
> Cabe ao destinatário cuidar quanto ao tratamento adequado. Sem a devida
> autorização, a divulgação, a reprodução, a distribuição ou qualquer outra
> ação em desconformidade com as normas internas da ELETRONORTE S/A são
> proibidas e passíveis de sanção disciplinar, cível e criminal. Esta mensagem
> pode ser monitorada".
>
>
>
>
> _______________________________________________
> 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