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?
Respuestas:
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í .
fuente
LIMIT 1
es 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 unaorder
cláusula en una consulta externa).fuente
LIMIT 1
ejecuta la consulta completa y luego descarta los resultados innecesarios. Hay varias discusiones en la lista de correo al respecto yCOUNT(*)
. Es diferente a buscar el primer registro coincidente conTOP 1
. Una vez que se encuentra el primer registro, la consulta puede detenerse y devolver el resultado.