docs-v2/content/shared/influxql-v3-reference/offset-and-soffset.md

7.2 KiB

Use OFFSET to specify the number of rows to skip in each InfluxQL group before returning results. Use SOFFSET to specify the number of series to skip before returning results.

OFFSET clause

The OFFSET clause skips N rows in each InfluxQL group before returning results. Offsets honor row limits specified in the LIMIT clause and display the limited number of rows after the specified offset. Use LIMIT and OFFSET together to paginate query results.

Syntax

SELECT_clause FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] OFFSET N [SLIMIT_clause] [SOFFSET_clause]

Arguments

  • N: Number of rows to skip in each InfluxQL group before returning results.

Notable OFFSET clause behaviors

  • If there is no LIMIT clause in a query with an OFFSET clause, the query returns a single row per InfluxQL group at the specified offset.
  • If the query doesn't include a GROUP BY clause, the entire result set is considered a single group and is returned in full.
  • If a query groups data by time, the offset is applied after aggregate and selector operations are applied to each time window.
  • If the WHERE clause includes a time range and the OFFSET clause causes InfluxQL to return points with timestamps outside of that time range, InfluxQL returns no results.

Examples

The following examples use the Home sensor sample data.

{{< expand-wrapper >}}

{{% expand "Return the nth row" %}}

SELECT * FROM home OFFSET 3

{{% influxql/table-meta %}} Name: home {{% /influxql/table-meta %}}

{{% influxdb/custom-timestamps %}}

time co hum room temp
2022-01-01T09:00:00Z 0 35.9 Living Room 21.4

{{% /influxdb/custom-timestamps %}} {{% /expand %}}

{{% expand "Paginate results by 3 and return the 2nd page of results" %}}

SELECT * FROM home WHERE room = 'Kitchen' LIMIT 3 OFFSET 3

{{% influxql/table-meta %}} Name: home {{% /influxql/table-meta %}}

{{% influxdb/custom-timestamps %}}

time co hum room temp
2022-01-01T11:00:00Z 0 36 Kitchen 22.4
2022-01-01T12:00:00Z 0 36 Kitchen 22.5
2022-01-01T13:00:00Z 1 36.5 Kitchen 22.8

{{% /influxdb/custom-timestamps %}} {{% /expand %}}

{{% expand "Paginate results from each series by 3 and return the 2nd page of each series" %}}

SELECT * FROM home GROUP BY * LIMIT 3 OFFSET 3

{{% influxdb/custom-timestamps %}}

{{% influxql/table-meta %}} name: home
tags: room=Kitchen {{% /influxql/table-meta %}}

time co hum temp
2022-01-01T11:00:00Z 0 36 22.4
2022-01-01T12:00:00Z 0 36 22.5
2022-01-01T13:00:00Z 1 36.5 22.8

{{% influxql/table-meta %}} name: home
tags: room=Living Room {{% /influxql/table-meta %}}

time co hum temp
2022-01-01T11:00:00Z 0 36 22.2
2022-01-01T12:00:00Z 0 35.9 22.2
2022-01-01T13:00:00Z 0 36 22.4

{{% /influxdb/custom-timestamps %}} {{% /expand %}}

{{< /expand-wrapper >}}

SOFFSET clause

[!Important] InfluxQL is being rearchitected to work with the InfluxDB 3 storage engine. This process is ongoing and some InfluxQL features, such as SOFFSET are still being implemented. For more information, see InfluxQL feature support.