Допустим есть таблица users в которой 40 записей
Тогда запрос:
SELECT id, firstname, lastname, score FROM users ORDER BY somethink DESC LIMIT 30 OFFSET 0
вернет первые 30 записей, как и ожидается, но запрос:
SELECT id, firstname, lastname, score FROM users ORDER BY somethink DESC LIMIT 30 OFFSET 20
вернет не последние 20 записей, а последние 30.
Как сделать так, чтобы возвращалось не больше 30 записей, но если должно быть выведено меньше 30, то выводилось именно столько?
P.S. Проблема в том, что LIMIT выставляется "железно" и если запись должна быть в OFFSET, но должно вернуться записей меньше, чем указано в LIMIT, запись возвращается, чтоб в результате было столько записей, сколько указано в LIMIT
Сборка персонального компьютера от Artline: умный выбор для современных пользователей