docs-v2/content/flux/v0.x/stdlib/universe/distinct.md

161 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: distinct() function
description: The `distinct()` function returns the unique values for a given column.
aliases:
- /influxdb/v2.0/reference/flux/functions/transformations/selectors/distinct
- /influxdb/v2.0/reference/flux/functions/built-in/transformations/selectors/distinct/
- /influxdb/v2.0/reference/flux/stdlib/built-in/transformations/selectors/distinct/
- /influxdb/cloud/reference/flux/stdlib/built-in/transformations/selectors/distinct/
menu:
flux_0_x_ref:
name: distinct
parent: universe
weight: 102
flux/v0.x/tags: [selectors, transformations]
related:
- /{{< latest "influxdb" "v1" >}}/query_language/functions/#distinct, InfluxQL  DISTINCT()
introduced: 0.7.0
---
The `distinct()` function returns the unique values for a given column.
The `_value` of each output record is set to the distinct value in the specified column.
`null` is considered its own distinct value if it is present.
_`distinct()` is a [selector function](/flux/v0.x/function-types/#selectors)._
```js
distinct(column: "host")
```
{{% warn %}}
#### Empty tables
`distinct()` drops empty tables.
{{% /warn %}}
## Parameters
### column {data-type="string"}
Column to return unique values from.
Default is `_value`.
### tables {data-type="stream of tables"}
Input data.
Default is piped-forward data ([`<-`](/flux/v0.x/spec/expressions/#pipe-expressions)).
## Examples
{{% flux/sample-example-intro plural=true %}}
#### Return distinct values from the _value column
```js
import "sampledata"
data = sampledata.int()
data
|> distinct()
```
{{< expand-wrapper >}}
{{% expand "View input and output" %}}
{{< flex >}}
{{% flex-content %}}
##### Input data
{{% flux/sample set="int" %}}
{{% /flex-content %}}
{{% flex-content %}}
##### Output data
| tag | _value |
| :-- | -----: |
| t1 | -2 |
| t1 | 10 |
| t1 | 7 |
| t1 | 17 |
| t1 | 15 |
| t1 | 4 |
| tag | _value |
| :-- | -----: |
| t2 | 19 |
| t2 | 4 |
| t2 | -3 |
| t2 | 13 |
| t2 | 1 |
{{% /flex-content %}}
{{< /flex >}}
{{% /expand %}}
{{< /expand-wrapper >}}
#### Return distinct values from a non-default column
```js
import "sampledata"
sampledata.int()
|> distinct(column: "tag")
```
{{< expand-wrapper >}}
{{% expand "View input and output" %}}
{{< flex >}}
{{% flex-content %}}
##### Input data
{{% flux/sample set="int" %}}
{{% /flex-content %}}
{{% flex-content %}}
##### Output data
| tag | _value |
| :-- | -----: |
| t1 | t1 |
| tag | _value |
| :-- | -----: |
| t2 | t2 |
{{% /flex-content %}}
{{< /flex >}}
{{% /expand %}}
{{< /expand-wrapper >}}
#### Return distinct values from with null values
```js
import "sampledata"
sampledata.int(includeNull: true)
|> distinct()
```
{{% expand "View input and output" %}}
{{< flex >}}
{{% flex-content %}}
##### Input data
{{% flux/sample "int" true %}}
{{% /flex-content %}}
{{% flex-content %}}
##### Output data
| tag | _value |
| :-- | -----: |
| t1 | -2 |
| t1 | |
| t1 | 7 |
| t1 | 4 |
| tag | _value |
| :-- | -----: |
| t2 | |
| t2 | 4 |
| t2 | -3 |
| t2 | 19 |
| t2 | 1 |
{{% /flex-content %}}
{{< /flex >}}
{{% /expand %}}