Skip to main content
Documents
Clauses StatementsKeywordsExpressionsFunctionsIndexesPerformance Optimization

MySQL LIMIT Clause

The `LIMIT` clause in MySQL is used to constrain the number of records returned by a query. It is commonly employed to fetch a subset of results, especially in pagination scenarios.

Usage

The `LIMIT` clause is typically used at the end of a `SELECT` statement to specify the maximum number of rows the query should return. It can also be combined with an `OFFSET` to skip a specified number of rows before starting to return rows.

sql
SELECT column1, column2, ...
FROM table_name
LIMIT [offset,] row_count;

In this syntax, `LIMIT row_count` specifies the number of rows to return, while `LIMIT offset, row_count` skips `offset` rows before beginning to return the `row_count` rows. Note that the `OFFSET` value is zero-based, meaning that `LIMIT 0, 5` returns the first five rows. An alternative syntax, `LIMIT row_count OFFSET offset`, may be more intuitive for some users.

Examples

1. Basic Limit

sql
SELECT * 
FROM products 
LIMIT 5;

This example retrieves the first 5 rows from the `products` table.

2. Limit with Offset

sql
SELECT name, price 
FROM products 
LIMIT 3, 5;

This query skips the first 3 rows and then retrieves the next 5 rows from the `products` table, useful for pagination.

3. Limit with Ordering

sql
SELECT id, title 
FROM articles 
ORDER BY publish_date DESC 
LIMIT 10;

Here, the query returns the 10 most recently published articles by ordering the `articles` table in descending order of `publish_date`.

Tips and Best Practices

  • Use with ORDER BY. To ensure predictable results, use `LIMIT` in conjunction with `ORDER BY`.
  • Optimize pagination. For large datasets, consider using indexed columns in your `ORDER BY` clause to improve performance.
  • Avoid large offsets. Large offsets can lead to poor performance; consider alternative pagination strategies, like keyset pagination, which uses indexed columns for efficient data retrieval.
  • Be cautious with large row counts. Fetching an excessive number of rows can lead to increased memory usage and slower performance.
  • Consider SQL dialects. Note that `LIMIT` is not part of the SQL standard and may behave differently in other SQL databases. Users in mixed environments should be aware of these differences.

SQL Upskilling for Beginners

Gain the SQL skills to interact with and query your data.
Start Learning for Free