Чи є спосіб у MySQL пропустити перші 10 результатів із запиту SELECT? Мені б хотілося, щоб він працював на кшталт LIMIT.
Чи є спосіб у MySQL пропустити перші 10 результатів із запиту SELECT? Мені б хотілося, щоб він працював на кшталт LIMIT.
Відповіді:
Використовуйте LIMIT з двома параметрами. Наприклад, щоб повернути результати 11-60 (де результат 1 - перший рядок), використовуйте:
SELECT * FROM foo LIMIT 10, 50
Щоб рішення повернути всі результати, див відповідь Томаса .
Також існує OFFSET, який повинен зробити трюк:
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 not in (select id from table limit 10)
де idбути ключем у вашій таблиці.
Якщо ваша таблиця має впорядкування за ідентифікатором, ви можете легко виконати:
select * from table where id > 10