[firebase-br] COMANDO SELECT MAX MUITO LENTO???????

Forum ASR & Associados forum em asreassociados.com.br
Dom Ago 7 22:08:11 -03 2005


Tente fazer dessa maneira:
"select max(codpessoa) from pessoas"

não é necessário colocar o last,nem o group by, essa consulta só irá retornar uma única linha.

Vc esta empregado errado a cláusula group by, veja quando utilizar o group by (supondo a existência do campo nome_pessoa): 
"select max(codpessoa),nome_pessoa from pessoas group by nome_pessoa"

nesse caso iria trazer n registros, para obter apenas o último vc iria colocar:

"select first(1) max(codpessoa),nome_pessoa from pessoas group by nome_pessoa"

Espero ter ajudado ...

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


Moyses Perillo de Carvalho wrote:

>COMANDO SELECT MAX MUITO LENTO???????
>EU ESTOU USANDO D7 COM DBEXPRESS E FB 1.5
>EU TENHO DE SABER QUAL O MAIOR VALOR DO CAMPO CODPESSOA MAS ESTA DEMORANDO
>MUITO O SELECT. ALGUEM SABE ME DIZER O QUE ESTOU FAZENDO DE ERRADO.
>QUANDO EU NAO USO O COMANDO      DM.CPESSOA3.Last; O CAMPO CODPESSOA FICA
>COM 0(ZERO). AO USAR O DM.CPESSOA3.Last O CAMPO CODPESSOA FICA COM O VALOR
>QUE EU QUERO.
>MAS SE ESTOU USANDO O ( SELECT MAX ) O SELECT JA NÃO DEVERIA TRAZER O MAIOR
>VALOR DO CAMPO CODPESSOA. SE EU TENHO DE USAR O DM.CPESSOA3.Last O MAX E
>DESNECESSARIO
>OBRIGADO POR TODA AJUDA
>
>     DM.CPESSOA3.Active := false;
>     DM.DSPESSOA3.DATASET:=DM.CPESSOA3;
>     DM.SPESSOA3.Close;
>     DM.SPESSOA3.SQL.clear;
>     DM.SPESSOA3.sql.add('SELECT MAX(CODPESSOA) CODPESSOA ');
>     DM.SPESSOA3.sql.add(' FROM PESSOAS ');
>     DM.SPESSOA3.sql.add(' GROUP BY CODPESSOA');
>     DM.SPESSOA3.Open;
>     DM.CPESSOA3.Active := TRUE;
>     DM.CPESSOA3.Last;
>     WWTT := DM.CPESSOA3CODPESSOA.VALUE + 1;
>
>Moyses Perillo de Carvalho
>www.mdinformatica.com.br
>Fone(31)9222 6014
>email perillo em pop.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