Comment obtenir la première / première ligne de la table dans Sqlite via Sql Query

90

J'ai besoin de récupérer la première / première ligne d'une table dans une base de données Sqlite.

Mais mon programme lève une SQLException "Sqlite Syntax Error: Syntax error near '1'" pour la requête que j'utilise:

SELECT TOP 1 * 
FROM SAMPLE_TABLE

Je suppose que c'est une syntaxe en particulier pour MS SQL SERVER et MS ACCESS. En ce moment, j'utilise.

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

Quelle est la meilleure solution à ce problème?

Omayr
la source
Il convient de mentionner que le développeur ne doit pas dépendre de l'ordre physique des enregistrements dans le tableau. C'est une idée de danger.
Ruslan Zasukhin
Copie
Mehdi Dehghani

Réponses:

143

Utilisez la requête suivante:

SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1

Remarque: les références d'identifiant de ligne de Sqlite sont détaillées ici .

Achim
la source
28

LIMIT 1est ce que vous voulez. Gardez simplement à l'esprit que cela renvoie le premier enregistrement du jeu de résultats quel que soit l'ordre (sauf si vous spécifiez une orderclause dans une requête externe).

Jordan Parmer
la source
1
LIMIT 1exécute la requête complète, puis ignore les résultats inutiles. Il existe plusieurs discussions sur la liste de diffusion à ce sujet et COUNT(*). C'est différent de trouver le premier enregistrement correspondant avec TOP 1. Une fois le premier enregistrement trouvé, la requête peut s'arrêter et renvoyer le résultat.
jww