Есть ли способ в MySQL пропустить первые 10 результатов запроса SELECT? Я бы хотел, чтобы работало что-то вроде LIMIT.
Есть ли способ в MySQL пропустить первые 10 результатов запроса SELECT? Я бы хотел, чтобы работало что-то вроде LIMIT.
Ответы:
Используйте LIMIT с двумя параметрами. Например, чтобы вернуть результаты 11-60 (где результат 1 - первая строка), используйте:
SELECT * FROM foo LIMIT 10, 50
Чтобы узнать, как вернуть все результаты, см. Ответ Томаса .
Также есть смещение, которое должно помочь:
SELECT column FROM table
LIMIT 10 OFFSET 10
limit 10,10
Из руководства :
Чтобы получить все строки от определенного смещения до конца набора результатов, вы можете использовать большое число для второго параметра. Этот оператор извлекает все строки с 96-й до последней:
SELECT * FROM tbl LIMIT 95,18446744073709551615;
Очевидно, вам следует заменить 95
на 10
. Кстати, большое число они используют 2 ^ 64 - 1.
LIMIT позволяет пропускать любое количество строк. У него два параметра, и первый из них - сколько строк пропустить.
Если в вашей таблице есть упорядочивание по идентификатору, вы можете легко это сделать:
select * from table where id > 10