Função agregada last

Firebird

03/08/2006

No access tem a função Last() que retorna o ultimo registro, tem no Firebird esta função ou tem como simular ela ou ela esta em alguma UDF???

obrigado
Henrique


Admin290

Admin290

Curtidas 0

Respostas

Acacio

Acacio

03/08/2006

Podes fazer o contrario

select first 1 TabelaQualquer
orderm by Codigo Desc

Assim ele vai trazer o primeiro registro que encotnrar, mas ordenasse na ordem decendente então vai pegar o maior registro que querias;


GOSTEI 0
Admin290

Admin290

03/08/2006

eu ja tinha feito isto, mas eu tenho outros campos agragados.
exemplo:

inscrição ano analise datalancamento
001 06 chumbo 01/08/2006
001 06 Cobre 01/08/2006
001 06 Niquel 01/08/2006
001 06 Cromo 03/08/2006
001 06 Mercurio 02/08/2006
001 06 Cadmio 02/08/2006
001 06 Selenio 03/08/2006
002 06 chumbo 03/08/2006
002 06 Cobre 03/08/2006
002 06 Niquel 01/08/2006
002 06 Cromo 03/08/2006
002 06 Mercurio 02/08/2006
002 06 Cadmio 02/08/2006
002 06 Selenio 03/08/2006

No access seria assim
select a.inscrição , last(a.datalancamento)
from analises as where a.ano=´06´
group by inscrição,ano

001 06 03/08/2006
002 06 03/08/2006
Resumindo, teria que voltar somente a inscrição 001 e data 03/08/06 não importando se é referente a analise cromo ou selenio, por ter uma inscrição para varias analises.


GOSTEI 0
Marlonprieto

Marlonprieto

03/08/2006

Podes fazer o contrario select first 1 TabelaQualquer orderm by Codigo Desc Assim ele vai trazer o primeiro registro que encotnrar, mas ordenasse na ordem decendente então vai pegar o maior registro que querias;


Acacio, não teria outra forma para fazer isso? pois desse jeito fica muito lento o banco, demora muito pra dar o last, já no caso o first é rapidão.


GOSTEI 0
Gandalf.nho

Gandalf.nho

03/08/2006

[quote:05b7ec35db]Podes fazer o contrario select first 1 TabelaQualquer orderm by Codigo Desc Assim ele vai trazer o primeiro registro que encotnrar, mas ordenasse na ordem decendente então vai pegar o maior registro que querias;


Acacio, não teria outra forma para fazer isso? pois desse jeito fica muito lento o banco, demora muito pra dar o last, já no caso o first é rapidão.[/quote:05b7ec35db]
Crie um índice descendente no campo.


GOSTEI 0
POSTAR