Em 2 de maio de 2013 15:06, Moisés P. Sena <[email protected]> escreveu:
> 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...
Para resolver com um único select e group by não dá, segue a forma
que eu uso para resolver esse tipo de problema
-- Resultado 1
select d.datahora::date,
min(d.datahora),
d_val.val_min
from dados d
join (
select datahora::date,
min(valor) val_min
from dados
group by datahora::date
) d_val
on d.datahora::date = d_val.datahora
and d.valor = d_val.val_min
group by d.datahora::date, d_val.val_min;
-- Resultado 2
select d.datahora::date,
d.datahora,
d_val.val_min
from dados d
join (
select datahora::date,
min(valor) val_min
from dados
group by datahora::date
) d_val
on d.datahora::date = d_val.datahora
and d.valor = d_val.val_min
order by d.datahora::date, d.datahora;
--
Marcone Peres - DBA
http://www.linkedin.com/in/marconeperes
oraculogeo.blogspot.com
@marconeperes
(61) 8146-0028
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral