Мне нужно получить первую / верхнюю строку таблицы в базе данных Sqlite.
Но моя программа выдает SQLException «Ошибка синтаксиса Sqlite: синтаксическая ошибка около« 1 »» для запроса, который я использую:
SELECT TOP 1 *
FROM SAMPLE_TABLE
Я предполагаю, что это синтаксис, особенно для MS SQL SERVER и MS ACCESS. Щас пользуюсь.
SELECT *
FROM SAMPLE_TABLE
LIMIT 1
Как лучше всего решить эту проблему?
Ответы:
Используйте следующий запрос:
SELECT * FROM SAMPLE_TABLE ORDER BY ROWID ASC LIMIT 1
Примечание. Здесь подробно описаны ссылки на идентификаторы строк Sqlite .
источник
LIMIT 1
это то, что вы хотите. Просто имейте в виду, что это возвращает первую запись в наборе результатов независимо от порядка (если вы не укажетеorder
предложение во внешнем запросе).источник
LIMIT 1
выполняет полный запрос, а затем отбрасывает ненужные результаты. Есть несколько обсуждений в списках рассылки по этому поводу иCOUNT(*)
. Это отличается от поиска первой совпадающей записи сTOP 1
. Как только первая запись будет найдена, запрос может остановиться и вернуть результат.