3.0 KiB
3.0 KiB
| title | description | menu | weight | flux/v0/tags | introduced | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| top() function | `top()` sorts each input table by specified columns and keeps the top `n` records in each table. |
|
101 |
|
0.7.0 |
top() sorts each input table by specified columns and keeps the top n records
in each table.
Note: top() drops empty tables.
Function type signature
(<-tables: stream[A], n: int, ?columns: [string]) => stream[A] where A: Record
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
Parameters
n
({{< req >}}) Number of rows to return from each input table.
columns
List of columns to sort by. Default is ["_value"].
Sort precedence is determined by list order (left to right).
tables
Input data. Default is piped-forward data (<-).
Examples
Return rows with the three highest values in each input table
import "sampledata"
sampledata.int()
|> top(n: 3)
{{< expand-wrapper >}} {{% expand "View example input and output" %}}
Input data
| _time | _value | *tag |
|---|---|---|
| 2021-01-01T00:00:00Z | -2 | t1 |
| 2021-01-01T00:00:10Z | 10 | t1 |
| 2021-01-01T00:00:20Z | 7 | t1 |
| 2021-01-01T00:00:30Z | 17 | t1 |
| 2021-01-01T00:00:40Z | 15 | t1 |
| 2021-01-01T00:00:50Z | 4 | t1 |
| _time | _value | *tag |
|---|---|---|
| 2021-01-01T00:00:00Z | 19 | t2 |
| 2021-01-01T00:00:10Z | 4 | t2 |
| 2021-01-01T00:00:20Z | -3 | t2 |
| 2021-01-01T00:00:30Z | 19 | t2 |
| 2021-01-01T00:00:40Z | 13 | t2 |
| 2021-01-01T00:00:50Z | 1 | t2 |
Output data
| _time | _value | *tag |
|---|---|---|
| 2021-01-01T00:00:30Z | 17 | t1 |
| 2021-01-01T00:00:40Z | 15 | t1 |
| 2021-01-01T00:00:10Z | 10 | t1 |
| _time | _value | *tag |
|---|---|---|
| 2021-01-01T00:00:00Z | 19 | t2 |
| 2021-01-01T00:00:30Z | 19 | t2 |
| 2021-01-01T00:00:40Z | 13 | t2 |
{{% /expand %}} {{< /expand-wrapper >}}