Jak uzyskać pierwszy / górny wiersz tabeli w Sqlite za pośrednictwem zapytania SQL

90

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?

Omayr
źródło
Należy wspomnieć, że programista nie powinien polegać na fizycznej kolejności rekordów w tabeli. To jest pomysł na niebezpieczeństwo.
Ruslan Zasukhin
Możliwy duplikat Jak zdobyć Top 5 rekordów w SqLite?
Mehdi Dehghani

Odpowiedzi:

143

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 .

Achim
źródło
28

LIMIT 1jest tym, czego chcesz. Pamiętaj tylko, że zwraca to pierwszy rekord w zestawie wyników niezależnie od kolejności (chyba że określisz orderklauzulę w zewnętrznym zapytaniu).

Jordan Parmer
źródło
1
LIMIT 1wykonuje pełne zapytanie, a następnie odrzuca niepotrzebne wyniki. Istnieje kilka dyskusji na temat list mailingowych i COUNT(*). Różni się od znalezienia pierwszego pasującego rekordu z TOP 1. Po znalezieniu pierwszego rekordu zapytanie może się zatrzymać i zwrócić wynik.
jww