Sort and limit data with Flux
This page documents an earlier version of InfluxDB OSS. InfluxDB OSS v2 is the latest stable version. See the equivalent InfluxDB v2 documentation: Sort and limit data with Flux.
Use the sort()
function
to order records within each table by specific columns and the
limit()
function
to limit the number of records in output tables to a fixed number, n
.
If you’re just getting started with Flux queries, check out the following:
- Get started with Flux for a conceptual overview of Flux and parts of a Flux query.
- Execute queries to discover a variety of ways to run your queries.
Example sorting system uptime
The following example orders system uptime first by region, then host, then value.
from(bucket:"db/rp")
|> range(start:-12h)
|> filter(fn: (r) =>
r._measurement == "system" and
r._field == "uptime"
)
|> sort(columns:["region", "host", "_value"])
The limit()
function
limits the number of records in output tables to a fixed number, n
.
The following example shows up to 10 records from the past hour.
from(bucket:"db/rp")
|> range(start:-1h)
|> limit(n:10)
You can use sort()
and limit()
together to show the top N records.
The example below returns the 10 top system uptime values sorted first by
region, then host, then value.
from(bucket:"db/rp")
|> range(start:-12h)
|> filter(fn: (r) =>
r._measurement == "system" and
r._field == "uptime"
)
|> sort(columns:["region", "host", "_value"])
|> limit(n:10)
You now have created a Flux query that sorts and limits data.
Flux also provides the top()
and bottom()
functions to perform both of these functions at the same time.
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.