So erhalten Sie die erste / oberste Zeile der Tabelle in Sqlite über Sql Query


87

Ich muss die erste / oberste Zeile einer Tabelle in einer SQLite-Datenbank abrufen.

Mein Programm löst jedoch eine SQLException "Sqlite-Syntaxfehler: Syntaxfehler in der Nähe von '1'" für die von mir verwendete Abfrage aus:

SELECT TOP 1 * 
FROM SAMPLE_TABLE

Das ist wohl eine Syntax speziell für MS SQL Server und MS ACCESS. Im Moment benutze ich.

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

Was ist die beste Lösung für dieses Problem?


Es sollte erwähnt werden, dass der Entwickler nicht von der physischen Reihenfolge der Datensätze in der Tabelle abhängen sollte. Das ist eine Gefahrenidee.
Ruslan Zasukhin

Antworten:



27

LIMIT 1ist was du willst. Beachten Sie jedoch, dass dies unabhängig von der Reihenfolge den ersten Datensatz in der Ergebnismenge zurückgibt (es sei denn, Sie geben orderin einer äußeren Abfrage eine Klausel an).


1
LIMIT 1führt die vollständige Abfrage aus und verwirft dann die nicht benötigten Ergebnisse. Es gibt mehrere Mailinglistendiskussionen darüber und COUNT(*). Es unterscheidet sich vom Finden des ersten passenden Datensatzes mit TOP 1. Sobald der erste Datensatz gefunden wurde, kann die Abfrage anhalten und das Ergebnis zurückgeben.
JWW
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.