ChatGPT解决这个技术问题 Extra ChatGPT

How to get first/top row of the table in Sqlite via Sql Query

I need to fetch the first/top row of a table in a Sqlite database.

But my program throws an SQLException "Sqlite Syntax Error: Syntax error near '1' " for the query that I am using:

SELECT TOP 1 * 
FROM SAMPLE_TABLE

That I guess is a syntax particularly for MS SQL SERVER and MS ACCESS. Right now I am using.

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

What is the best solution for this problem?

Should be mentioned that developer should not depend on physical order of records in the Table. This is danger idea.
Possible duplicate of How to get Top 5 records in SqLite?

U
Uwe Keim

Use the following query:

SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1

Note: Sqlite's row id references are detailed here.


z
zkanoca

LIMIT 1 is what you want. Just keep in mind this returns the first record in the result set regardless of order (unless you specify an order clause in an outer query).


LIMIT 1 executes the full query, and then discards the unneeded results. There are several mailing list discussions about it and COUNT(*). It is different than finding the first matching record with TOP 1. Once the first record is found the query can stop and return the result.