Ajuda com sql
Olá preciso fazer a media por mes/ano, dos precos q tenho no bd,
to fazendo assim
select dt_pregao, avg(ct_pregao) from dados
where nm_produto = ´nomeproduto´
group by dt_pregao
soh que como tenho mais de uma cotacao para o mesmo mes/ano (quase todo dia tenho cotacao) ele agrupa por dia e nao por mes/ano como quero e a media sai diaria,
entao acho q tenho q formatar o campo dt_pregao q eh do tipo date e esta assim ´dd/mm/yyyy´ para ´mm/yyyy´ soh que nao sei qual a funcao
uso o interbase
tb se alguem souber se no interbase tem alguma funcao pra calcular o desvio padrao tipo o avg, max
grato
tuiobecker
to fazendo assim
select dt_pregao, avg(ct_pregao) from dados
where nm_produto = ´nomeproduto´
group by dt_pregao
soh que como tenho mais de uma cotacao para o mesmo mes/ano (quase todo dia tenho cotacao) ele agrupa por dia e nao por mes/ano como quero e a media sai diaria,
entao acho q tenho q formatar o campo dt_pregao q eh do tipo date e esta assim ´dd/mm/yyyy´ para ´mm/yyyy´ soh que nao sei qual a funcao
uso o interbase
tb se alguem souber se no interbase tem alguma funcao pra calcular o desvio padrao tipo o avg, max
grato
tuiobecker
Tuiobecker
Curtidas 0
Respostas
Sds
05/11/2003
caro tuiobecker,
eu não uso o interbase puro, uso ele com o Delphi e no dephi tem uma função FormatDateTime() que permito vc formatar a data ou hora de acordo com a sua necessidade.
se for de seu interesse funciona da seguinte forma:
[b:2331e49368]FormatDateTime(´dd/mm/yy´,now);[/b:2331e49368]
mas como vc quer o mês pode ser assim:
[b:2331e49368]FormatDateTime(´mm/yy´,now);[/b:2331e49368]
[b:2331e49368]now[/b:2331e49368] é a data que vc quer formatar, como é mais de uma deve colocar num array e usar um laço
como eu não trabalho com o InterBase isoladamente só conheço esse modo, espero ter ajudado,
sds
eu não uso o interbase puro, uso ele com o Delphi e no dephi tem uma função FormatDateTime() que permito vc formatar a data ou hora de acordo com a sua necessidade.
se for de seu interesse funciona da seguinte forma:
[b:2331e49368]FormatDateTime(´dd/mm/yy´,now);[/b:2331e49368]
mas como vc quer o mês pode ser assim:
[b:2331e49368]FormatDateTime(´mm/yy´,now);[/b:2331e49368]
[b:2331e49368]now[/b:2331e49368] é a data que vc quer formatar, como é mais de uma deve colocar num array e usar um laço
como eu não trabalho com o InterBase isoladamente só conheço esse modo, espero ter ajudado,
sds
GOSTEI 0