Como obter a primeira / linha superior da tabela no Sqlite por meio do Sql Query

93

Preciso buscar a primeira linha / superior de uma tabela em um banco de dados Sqlite.

Mas meu programa lança uma SQLException "Sqlite Syntax Error: Syntax error near '1'" para a consulta que estou usando:

SELECT TOP 1 * 
FROM SAMPLE_TABLE

Isso eu acho que é uma sintaxe particularmente para MS SQL SERVER e MS ACCESS. Agora estou usando.

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

Qual é a melhor solução para este problema?

Omayr
fonte
Deve ser mencionado que o desenvolvedor não deve depender da ordem física dos registros na Tabela. Esta é uma ideia de perigo.
Ruslan Zasukhin
Possível duplicata de How to get Top 5 records in SqLite?
Mehdi Dehghani

Respostas:

147

Use a seguinte consulta:

SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1

Observação: as referências de id de linha do Sqlite são detalhadas aqui .

Achim
fonte
28

LIMIT 1é o que você quer. Apenas tenha em mente que isso retorna o primeiro registro no conjunto de resultados, independentemente da ordem (a menos que você especifique uma ordercláusula em uma consulta externa).

Jordan Parmer
fonte
1
LIMIT 1executa a consulta completa e, em seguida, descarta os resultados desnecessários. Existem várias discussões em listas de discussão sobre ele e COUNT(*). É diferente de encontrar o primeiro registro correspondente com TOP 1. Assim que o primeiro registro for encontrado, a consulta pode parar e retornar o resultado.
jww