> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cockroachlabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Limit Query Results

The `LIMIT` and `OFFSET` clauses restrict the operation of:

* A [selection query](https://docs.cockroachlabs.com/docs/v24.2/selection-queries), including when it occurs as part of [`INSERT`](https://docs.cockroachlabs.com/docs/v24.2/insert) or [`UPSERT`](https://docs.cockroachlabs.com/docs/v24.2/upsert).
* [`UPDATE`](https://docs.cockroachlabs.com/docs/v24.2/update) and [`DELETE`](https://docs.cockroachlabs.com/docs/v24.2/delete) statements.

`OFFSET` instructs the operation to skip a specified number of rows. It is often used in conjunction with `LIMIT` to "paginate" through retrieved rows.

> [!CAUTION]
>
> Using `LIMIT`/`OFFSET` to implement pagination can be very slow for large tables.  We recommend using [keyset pagination](https://docs.cockroachlabs.com/docs/v24.2/pagination) instead.

## Syntax

### LIMIT

```
LIMIT { <limit_value> | ALL }
```

For PostgreSQL compatibility, CockroachDB also supports `FETCH FIRST limit_value ROWS ONLY` and `FETCH NEXT limit_value ROWS ONLY` as aliases for `LIMIT`. If `limit_value` is omitted, then one row is fetched.

### OFFSET

```
OFFSET <offset_value> [ ROW | ROWS ]
```

## Examples

For example uses with `SELECT`, see [Limit Row Count](https://docs.cockroachlabs.com/docs/v24.2/selection-queries#limit-row-count).

## See also

* [`DELETE`](https://docs.cockroachlabs.com/docs/v24.2/delete)
* [`UPDATE`](https://docs.cockroachlabs.com/docs/v24.2/delete)
* [`INSERT`](https://docs.cockroachlabs.com/docs/v24.2/insert)
* [`UPSERT`](https://docs.cockroachlabs.com/docs/v24.2/upsert)
* [Selection Queries](https://docs.cockroachlabs.com/docs/v24.2/selection-queries)
