> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentación de OFFSET

# Cláusula OFFSET FETCH

`OFFSET` y `FETCH` permiten recuperar datos en porciones. Especifican un bloque de filas que se desea obtener con una sola consulta.

```sql theme={null}
-- Estilo estándar SQL:
[OFFSET offset_row_count {ROW | ROWS}] [FETCH {FIRST | NEXT} fetch_row_count {ROW | ROWS} {ONLY | WITH TIES}]

-- Estilo MySQL/PostgreSQL:
[LIMIT [n, ]m] [OFFSET offset_row_count]
```

El valor de `offset_row_count` o `fetch_row_count` puede ser un número o una constante literal. Puede omitir `fetch_row_count`; de forma predeterminada, es igual a 1.

`OFFSET` especifica cuántas filas se omiten antes de empezar a devolver filas del conjunto de resultados de la consulta. `OFFSET n` omite las primeras `n` filas del resultado.

Se admite `OFFSET` negativo: `OFFSET -n` omite las últimas `n` filas del resultado.

También se admite `OFFSET` fraccional: `OFFSET n`: si 0 \< n \< 1, se omite el primer n \* 100% del resultado.

Ejemplo:
• `OFFSET 0.1`: omite el primer 10% del resultado.

> **Nota**
> • La fracción debe ser un número [Float64](/es/reference/data-types/float) menor que 1 y mayor que cero.
> • Si el cálculo da como resultado un número fraccional de filas, se redondea hacia arriba al siguiente número entero.

`FETCH` especifica el número máximo de filas que puede haber en el resultado de una consulta.

La opción `ONLY` se usa para devolver las filas que siguen inmediatamente a las omitidas por `OFFSET`. En este caso, `FETCH` es una alternativa a la cláusula [LIMIT](/es/reference/statements/select/limit). Por ejemplo, la siguiente consulta

```sql theme={null}
SELECT * FROM test_fetch ORDER BY a OFFSET 1 ROW FETCH FIRST 3 ROWS ONLY;
```

es idéntica a la consulta

```sql theme={null}
SELECT * FROM test_fetch ORDER BY a LIMIT 3 OFFSET 1;
```

La opción `WITH TIES` se usa para devolver también las filas adicionales que empaten en la última posición del conjunto de resultados según la cláusula `ORDER BY`. Por ejemplo, si `fetch_row_count` se establece en 5, pero dos filas adicionales coinciden con los valores de las columnas de `ORDER BY` de la quinta fila, el conjunto de resultados contendrá siete filas.

<Note>
  Según el estándar, la cláusula `OFFSET` debe ir antes de la cláusula `FETCH` si ambas están presentes.
</Note>

<Note>
  El `offset` real también puede depender de la configuración [offset](/es/reference/settings/session-settings#offset).
</Note>

<div id="examples">
  ## Ejemplos
</div>

Tabla de entrada:

```text theme={null}
┌─a─┬─b─┐
│ 1 │ 1 │
│ 2 │ 1 │
│ 3 │ 4 │
│ 1 │ 3 │
│ 5 │ 4 │
│ 0 │ 6 │
│ 5 │ 7 │
└───┴───┘
```

Uso de la opción `ONLY`:

```sql title="Query" theme={null}
SELECT * FROM test_fetch ORDER BY a OFFSET 3 ROW FETCH FIRST 3 ROWS ONLY;
```

```text title="Response" theme={null}
┌─a─┬─b─┐
│ 2 │ 1 │
│ 3 │ 4 │
│ 5 │ 4 │
└───┴───┘
```

Uso de la opción `WITH TIES`:

```sql title="Query" theme={null}
SELECT * FROM test_fetch ORDER BY a OFFSET 3 ROW FETCH FIRST 3 ROWS WITH TIES;
```

```text title="Response" theme={null}
┌─a─┬─b─┐
│ 2 │ 1 │
│ 3 │ 4 │
│ 5 │ 4 │
│ 5 │ 7 │
└───┴───┘
```
