Query first and last values
Use first()
or
last()
to return the first or
last record in an input table.
data
|> first()
// OR
data
|> last()
By default, InfluxDB returns results sorted by time, however you can use the
sort()
function
to change how results are sorted.
first()
and last()
respect the sort order of input data and return records
based on the order they are received in.
first
first()
returns the first non-null record in an input table.
Given the following input:
_time | _value |
---|---|
2020-01-01T00:01:00Z | 1.0 |
2020-01-01T00:02:00Z | 1.0 |
2020-01-01T00:03:00Z | 2.0 |
2020-01-01T00:04:00Z | 3.0 |
The following function returns:
|> first()
_time | _value |
---|---|
2020-01-01T00:01:00Z | 1.0 |
last
last()
returns the last non-null record in an input table.
Given the following input:
_time | _value |
---|---|
2020-01-01T00:01:00Z | 1.0 |
2020-01-01T00:02:00Z | 1.0 |
2020-01-01T00:03:00Z | 2.0 |
2020-01-01T00:04:00Z | 3.0 |
The following function returns:
|> last()
_time | _value |
---|---|
2020-01-01T00:04:00Z | 3.0 |
Use first() or last() with aggregateWindow()
Use first()
and last()
with aggregateWindow()
to select the first or last records in time-based groups.
aggregateWindow()
segments data into windows of time, aggregates data in each window into a single
point using aggregate or selector functions, and then removes the time-based segmentation.
Given the following input:
_time | _value |
---|---|
2020-01-01T00:00:00Z | 10 |
2020-01-01T00:00:15Z | 12 |
2020-01-01T00:00:45Z | 9 |
2020-01-01T00:01:05Z | 9 |
2020-01-01T00:01:10Z | 15 |
2020-01-01T00:02:30Z | 11 |
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, the following resources are available:
InfluxDB Cloud and InfluxDB Enterprise customers can contact InfluxData Support.