Seleção de Apenas 10 linhas em um select

Oracle

Delphi

Firebird

07/01/2016

Boa tarde,
Tenho o seguinte select
SELECT NR_CAUSE,
               SUM(TOTAL) TEMPO_TOTAL
FROM STOP_DATA
WHERE DTHR_INI>= :pdtIni AND DTHR_FIM <= :pdtFim 
GROUP BY NR_CAUSE;


Mas este select me retorna muitas linhas, gostaria que ele me retornasse apenas as 10 primeiras linhas.

Desde já agradeço
Fabricio
Fabricio Pereira

Fabricio Pereira

Curtidas 0

Melhor post

Marlos Silva

Marlos Silva

09/01/2016

amigo se vc estiver usando firedac fica moleza...

USE AS DIRETIVAS DE COMPILAÇÃO, É ASSIM QUE FAÇO COM FIREBIRD E POSTGRES
ficaria mais ou menos assim no FDQuery.

{IF FIREBIRD}

SELECT FIRST 10 RESTANTE DA INTRUÇÃO DESEJADA

{IF MSSQL}

SELECT TOP 10 COLUNA (s)
FROM TABELA

{IF ORACLE}

SELECT COLUNA(s)
FROM TABELA
WHERE ROWNUM <= 10;


{IF MYSQL}
SELECT COLUNA(s)
FROM TABELA
LIMIT 10;
GOSTEI 3

Mais Respostas

Isaac Jose

Isaac Jose

07/01/2016

boa tarde.. no sql é o top 10


SELECT TOP 10 NR_CAUSE,
SUM(TOTAL) TEMPO_TOTAL
FROM STOP_DATA
WHERE DTHR_INI>= :pdtIni AND DTHR_FIM <= :pdtFim
GROUP BY NR_CAUSE;
GOSTEI 0
Claudio Lopes

Claudio Lopes

07/01/2016

no mysql é utilizado o limit() no frinal da query, qual banco vc está utilizando?
GOSTEI 0
Raylan Zibel

Raylan Zibel

07/01/2016

select first(10) * from tabela
GOSTEI 0
Fabricio Pereira

Fabricio Pereira

07/01/2016

Este select tem que funcionar p/ Firebird, SQL Server e Oracle
GOSTEI 0
Raylan Zibel

Raylan Zibel

07/01/2016

É diferente em cada linguagem. Voce tem q prever isso antes de montar a consulta.
GOSTEI 0
Raylan Zibel

Raylan Zibel

07/01/2016

Se vc estiver usando clientdataset vc pode setar a quantidade 10 na propriedade PacketRecords.
A consulta vai trazer tudo, mas exibir de 10 em 10.
GOSTEI 0
Fabricio Pereira

Fabricio Pereira

07/01/2016

Usei o Select First(10) e funcionou....no caso estou utilizando no delphi os componentes query nativos (TQuery do Delphi).
Muito obrigado.
GOSTEI 0
POSTAR