Muszę pobrać pierwszy / górny wiersz tabeli w bazie danych Sqlite.
Ale mój program zgłasza SQLException „Sqlite Syntax Error: Błąd składni w pobliżu„ 1 ”” dla zapytania, którego używam:
SELECT TOP 1 *
FROM SAMPLE_TABLE
Myślę, że jest to składnia szczególnie dla MS SQL SERVER i MS ACCESS. W tej chwili używam.
SELECT *
FROM SAMPLE_TABLE
LIMIT 1
Jakie jest najlepsze rozwiązanie tego problemu?
Odpowiedzi:
Użyj następującego zapytania:
SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1
Uwaga: szczegółowe informacje dotyczące identyfikatorów wierszy Sqlite znajdują się tutaj .
źródło
LIMIT 1
jest tym, czego chcesz. Pamiętaj tylko, że zwraca to pierwszy rekord w zestawie wyników niezależnie od kolejności (chyba że określiszorder
klauzulę w zewnętrznym zapytaniu).źródło
LIMIT 1
wykonuje pełne zapytanie, a następnie odrzuca niepotrzebne wyniki. Istnieje kilka dyskusji na temat list mailingowych iCOUNT(*)
. Różni się od znalezienia pierwszego pasującego rekordu zTOP 1
. Po znalezieniu pierwszego rekordu zapytanie może się zatrzymać i zwrócić wynik.