[firebase-br] Média dos n últimos valores?

Forum ASR & Associados forum em asreassociados.com.br
Ter Set 13 04:53:41 -03 2005


Vamos ao exemplo:

select COALESCE(AVG(campo_média),0) from tabela_lancamento
where campo_ordem_lancamento <= (select first(1) skip(qtd_registros) 
campo_ordem_lancamento from tabela_lancamento order by 
campo_ordem_lancamento desc)

Vampos as Explicações:

A função COALESCE faz com que todos os valores nulos, sejam convertidos 
para 0 (vamos utiliza-lo por um questão de segurança)

FIRST(1) = retornar o primeiro registro
SKIP(n) = saltar "n" registros

Qual o macete para obter os últimos registros: vamos pegar apenas um 
registro saltando do final para o ínicio "n" registros

Exemplo Tabela: 1 , 2 , 4 , 5 , 6 , 7 , 8 , 9 , 10
First(1) skip(3) = 7 (lembre que estamos utilizando o order by <campo> desc)

Espero ter ajudado,

Airton Salviano
Analista de Sistemas
www.asreassociados.com.br

Sérgio E wrote:

>Alguém saberia me dizer se consigo obter via select sem ter que usar uma stored proc a média dos n últimos valores de um lançamento? Se sim, poderia me citar um exemplo.
>
>Obrigado,
>
>
>Sérgio E.
>sergioernesto em uol.com.br
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>  
>


-- 
Esta mensagem foi verificada pelo sistema de anti-virus e
 acredita-se estar livre de perigo.





Mais detalhes sobre a lista de discussão lista