Bom, consegui fazer com subselect, mas não sei se é a melhor forma. Alguém
sabe alguma outra forma que demanda menos processamento?
SELECT
d.datahora,
r.valor
FROM (
SELECT
date_trunc('day', datahora) as dt,
min(valor) as valor
FROM dados
GROUP BY 1
ORDER BY 1
) r
INNER JOIN dados d
ON date_trunc('day', d.datahora) = r.dt AND r.valor = d.valor
ORDER BY d.datahora ASC;
datahora | valor
---------------------+-------
2013-01-01 00:20:00 | 1
2013-01-02 00:30:00 | 2
2013-01-02 00:50:00 | 2
(3 rows)
Em 2 de maio de 2013 15:06, Moisés P. Sena <[email protected]> escreveu:
>
> Em 2 de maio de 2013 13:11, Flavio Henrique Araque Gurgel <
> [email protected]> escreveu:
>
> Então substitua 'day' por 'hour' na função date_trunc.
>
>
> Preciso obter o mínimo do DIA, portanto 'day', mas quero saber em que
> momento (HORA e MINUTO) ocorreu este mínimo DIARIO. Entendeu?
> Eu li a documentação da função, mas não bate com o que quero.
>
> Até onde eu sei, não posso colocar o campo "datahora" na consulta, se nao
> nunca vai dar o resultado esperado, pois terei de coloca-lo no GROUP BY, e
> isso nao vai funcionar pois DATAHORA é PK - nunca repete.
>
> Obrigado!
>
> --
> Moisés P. Sena
> (Analista e desenvolvedor de sistemas WEB e mobile)
> http://www.moisespsena.com
> http://linux.moisespsena.com
>
--
Moisés P. Sena
(Analista e desenvolvedor de sistemas WEB e mobile)
http://www.moisespsena.com
http://linux.moisespsena.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral