[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