Cómo obtener la primera / superior fila de la tabla en Sqlite a través de Sql Query

90

Necesito buscar la primera / superior fila de una tabla en una base de datos Sqlite.

Pero mi programa arroja una SQLException "Sqlite Syntax Error: Syntax error near '1'" para la consulta que estoy usando:

SELECT TOP 1 * 
FROM SAMPLE_TABLE

Supongo que es una sintaxis particularmente para MS SQL SERVER y MS ACCESS. Ahora mismo estoy usando.

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

¿Cuál es la mejor solución para este problema?

Omayr
fuente
Cabe mencionar que el desarrollador no debe depender del orden físico de los registros en la Tabla. Esta es una idea peligrosa.
Ruslan Zasukhin
Posible duplicado de ¿Cómo obtener los 5 mejores registros en SqLite?
Mehdi Dehghani

Respuestas:

143

Utilice la siguiente consulta:

SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1

Nota: Las referencias de ID de fila de Sqlite se detallan aquí .

Achim
fuente
28

LIMIT 1es lo que quieres. Solo tenga en cuenta que esto devuelve el primer registro en el conjunto de resultados independientemente del orden (a menos que especifique una ordercláusula en una consulta externa).

Jordan Parmer
fuente
1
LIMIT 1ejecuta la consulta completa y luego descarta los resultados innecesarios. Hay varias discusiones en la lista de correo al respecto y COUNT(*). Es diferente a buscar el primer registro coincidente con TOP 1. Una vez que se encuentra el primer registro, la consulta puede detenerse y devolver el resultado.
jww