Brian
Brian

Reputation: 27422

MySQL skip first 10 results

Is there a way in MySQL to have the first 10 result from a SELECT query skipped? I'd like it to work something like LIMIT.

Upvotes: 147

Views: 162354

Answers (8)

Vicky Salunkhe
Vicky Salunkhe

Reputation: 11025

To skip first 10 rows use OFFSET 10, but LIMIT is also required,

If you want to get all the rows and only skip first 10 rows try using a big number like 999999999 or as per your choice

SELECT * FROM table LIMIT 999999 OFFSET 10

Upvotes: 5

Biswajit Paul
Biswajit Paul

Reputation: 1

If your table has ordering by id, you could easily done by:

select * from table where id > 10

Upvotes: -9

user258082
user258082

Reputation:

OFFSET is what you are looking for.

SELECT * FROM table LIMIT 10 OFFSET 10

Upvotes: 65

mickeymoon
mickeymoon

Reputation: 4987

select * from table where id not in (select id from table limit 10)

where id be the key in your table.

Upvotes: 3

Dominic Rodger
Dominic Rodger

Reputation: 99841

Use LIMIT with two parameters. For example, to return results 11-60 (where result 1 is the first row), use:

SELECT * FROM foo LIMIT 10, 50

For a solution to return all results, see Thomas' answer.

Upvotes: 172

jamesaharvey
jamesaharvey

Reputation: 14291

There is an OFFSET as well that should do the trick:

SELECT column FROM table
LIMIT 10 OFFSET 10

Upvotes: 127

Thomas
Thomas

Reputation: 182093

From the manual:

To retrieve all rows from a certain offset up to the end of the result set, you can use some large number for the second parameter. This statement retrieves all rows from the 96th row to the last:

SELECT * FROM tbl LIMIT 95,18446744073709551615;

Obviously, you should replace 95 by 10. The large number they use is 2^64 - 1, by the way.

Upvotes: 39

Your Common Sense
Your Common Sense

Reputation: 158005

LIMIT allow you to skip any number of rows. It has two parameters, and first of them - how many rows to skip

Upvotes: 7

Related Questions