> For the complete documentation index, see [llms.txt](https://outerbase.gitbook.io/untitled/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://outerbase.gitbook.io/untitled/query-builder/select/limit-and-offset.md).

# Limit & Offset

Providing additional conditions on a SQL statement to limit how many rows are returned, and offsetting them allow you to page through results in a computationally cheaper manner than requesting all entries at once.

## Limit

By specifying the `LIMIT` in a SQL statement you can tell the database the maximum number of rows you want to have returned. To add a limit constraint to your statement via the query builder you can chain the `.limit()` function before exectuing the query.

```typescript
const { data, error } = db
    .selectFrom([
        { table: 'table_name', columns: ['*'] }
    ])
    .limit(10)
    .query()
```

## Offset

When you need to paginate through database results, it's common to use both `LIMIT` and `OFFSET` together to fetch X number of results at a time. For example, if you want to see 10 items at a time your first request may be a `LIMIT` of 10 and an `OFFSET` of 0. The second set of 10 would still have the same limit value, but the offset value now is 10 – as you've already seen the first ten results.

```typescript
const { data, error } = db
    .selectFrom([
        { table: 'table_name', columns: ['*'] }
    ])
    .limit(10)
    .offset(1)
    .query()
```

The above query would return results 11 through 20 from the `table_name` table in your database.
