Может кто-нибудь объяснить, почему этот запрос sqlite3 будет работать, и вернет мои 1000 записей:
SELECT * FROM fmsdata LIMIT 1000 OFFSET (SELECT COUNT(*) FROM fmsdata) - 1000
но в ту минуту, когда я опускаю предложение where WHERE valve=3
, оно ничего не возвращает?
SELECT * FROM fmsdata WHERE valve=3 LIMIT 1000 OFFSET (SELECT COUNT(*) FROM fmsdata) - 1000
Этот подзапрос возвращает размер таблицы, равный 123290.
SELECT COUNT(*) FROM fmsdata
К вашему сведению, смещение состоит в том, чтобы просто быстро указать мне конец базы данных без необходимости что-либо сортировать, поскольку я знаю, что последние записи всегда будутбыть в конце.
Вот успешный запрос без предложения where:
В нашей тестовой таблице записи циклически повторяются102 клапана, поэтому с пределом 1000 у нас должно быть как минимум 9 записей, которые показывались в конце запроса.
Не уверен, что это важно, но я в системе Ubuntu 18.04.