Как получить первую / верхнюю строку таблицы в Sqlite через Sql Query

93

Мне нужно получить первую / верхнюю строку таблицы в базе данных Sqlite.

Но моя программа выдает SQLException «Ошибка синтаксиса Sqlite: синтаксическая ошибка около« 1 »» для запроса, который я использую:

SELECT TOP 1 * 
FROM SAMPLE_TABLE

Я предполагаю, что это синтаксис, особенно для MS SQL SERVER и MS ACCESS. Щас пользуюсь.

SELECT *
FROM SAMPLE_TABLE
LIMIT 1

Как лучше всего решить эту проблему?

Омайр
источник
Следует отметить, что разработчик не должен зависеть от физического порядка записей в таблице. Это идея опасности.
Руслан Засухин
Возможный дубликат Как получить ТОП-5 записей в SqLite?
Мехди Дехгани

Ответы:

147

Используйте следующий запрос:

SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1

Примечание. Здесь подробно описаны ссылки на идентификаторы строк Sqlite .

Ахим
источник
28

LIMIT 1это то, что вы хотите. Просто имейте в виду, что это возвращает первую запись в наборе результатов независимо от порядка (если вы не укажете orderпредложение во внешнем запросе).

Джордан Пармер
источник
1
LIMIT 1выполняет полный запрос, а затем отбрасывает ненужные результаты. Есть несколько обсуждений в списках рассылки по этому поводу и COUNT(*). Это отличается от поиска первой совпадающей записи с TOP 1. Как только первая запись будет найдена, запрос может остановиться и вернуть результат.
jww