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?


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

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í .


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).


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.