MySQL LIMIT Clause

The MySQL LIMIT Clause

The LIMIT clause is used to specify the number of records to return.

The LIMIT clause is useful on large tables with thousands of records. Returning a large number of records can impact performance.

LIMIT Syntax

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Demo Database

Below is a selection from the “Customers” table in the Northwind sample database:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

MySQL LIMIT Examples

The following SQL statement selects the first three records from the “Customers” table:

Example

SELECT * FROM Customers
LIMIT 3;

What if we want to select records 4 – 6 (inclusive)?

MySQL provides a way to handle this: by using OFFSET.

The SQL query below says “return only 3 records, start on record 4 (OFFSET 3)”:

Example

SELECT * FROM Customers
LIMIT 3 OFFSET 3;

ADD a WHERE CLAUSE

The following SQL statement selects the first three records from the “Customers” table, where the country is “Germany”:

Example

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;

ADD an ORDER BY CLAUSE

The following SQL statement sorts the customers by country before returning the first three records from the selection:

Example

SELECT * FROM Customers
ORDER BY Country
LIMIT 3;