Мне нужно получить первую/верхнюю строку таблицы в базе данных 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
. Как только первая запись найдена, запрос может остановиться и вернуть результат.