Здравствуйте. Нужно сначала отсортировать все записи в таблице по id, в порядке возрастания, а потом выбрать из них некоторую часть (например записи с id от 5 до 10). Я составил такой запрос:
SELECT * FROM (SELECT * FROM table ORDER BY id) tbl WHERE id BETWEEN 5 AND 10;
Правильно ли я всё сделал? Можно ли сделать лучше? Может можно обойтись без подзапроса?
MaxLich, Всё разобрался. Оказывается, он сначала пропускает указанное количество строк (указанное после OFFSET), а потом выдаёт только указанное (после LIMIT).
Должен выдать 6 записей, если в выборке их больше 9.
Интерпретировать нужно так:
Выбрать 6 записей, пропустив при этом 4 первых.
Вы WHERE не забыли убрать? Страничка документации на русском