Limitar o numero de resuldados de um select

Delphi

07/07/2004

Preciso fazer um select no qual houvesse um edit no programa, que quando preenchido com qualquer valor que fosse menor que o número de registros encontrados, limitasse o número de resultados.

Ex. SELECT CODIGO FROM TABELA ORDER BY CODIGO DESC
neste exemplo a tabela teria 1200 registros, mas so gostaria que aparecessem os 5 primeiros resulados em um grid.


Emir Neto

Emir Neto

Curtidas 0

Respostas

Nildo

Nildo

07/07/2004

Isso depende da sintax do SQL do servidor de DB que você usa. Por exemplo:

No SQL-Server da Microsoft, seu select pode ficar assim:

select TOP 5 * from Tabela where Condicao


GOSTEI 0
Sam

Sam

07/07/2004

No banco de dados [b:20e02c1f2d]MySql[/b:20e02c1f2d] utilizamos a cláusula [b:20e02c1f2d]LIMIT[/b:20e02c1f2d]


GOSTEI 0
Nildo

Nildo

07/07/2004

No banco de dados [b:384affa9bc]MySql[/b:384affa9bc] utilizamos a cláusula [b:384affa9bc]LIMIT[/b:384affa9bc]


O ruim é que se o select retorna 999999999 registros (por exemplo) e você dá um LIMIT de 5, inutilmente o select varre todos os 999999999 para retornar apenas 5.


GOSTEI 0
Paulo_amorim

Paulo_amorim

07/07/2004

[quote:867236ba98=´Sam´]No banco de dados [b:867236ba98]MySql[/b:867236ba98] utilizamos a cláusula [b:867236ba98]LIMIT[/b:867236ba98]


O ruim é que se o select retorna 999999999 registros (por exemplo) e você dá um LIMIT de 5, inutilmente o select varre todos os 999999999 para retornar apenas 5.[/quote:867236ba98]

Olá

Até onde eu sei o LIMIT do MySQL faz a mesma coisa que o TOP do MSSQL
O TOP do MSSQL também não varre tudo?

Em tempo, no ORACLE faça

SELECT * FROM tabela
WHERE RowNum < 6



GOSTEI 0
Nildo

Nildo

07/07/2004

Até onde eu sei o LIMIT do MySQL faz a mesma coisa que o TOP do MSSQL O TOP do MSSQL também não varre tudo?


O do MSSQL eu não sei exato se varre tudo. Mas o MySQL eu tenho certeza que sim.


GOSTEI 0
Emir Neto

Emir Neto

07/07/2004

E como limito no INTERBAS???


GOSTEI 0
Rafaelunp

Rafaelunp

07/07/2004

E como limito no INTERBAS???


Amigo,

Se seu problema é no Interbase/FireBird voce pode fazer assim

Select First 5 * from Tabela


E esse ´5´ voce pode dar um jeito de passar pelo Edit...


GOSTEI 0
POSTAR