Merge pull request #63367 from Blargian/document_singleValueOrNull

[Docs] add `singleValueOrNull` to documentation
This commit is contained in:
Konstantin Bogdanov 2024-05-05 23:41:08 +00:00 committed by GitHub
commit 2311512e82
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 60 additions and 0 deletions

View File

@ -97,6 +97,7 @@ ClickHouse-specific aggregate functions:
- [quantileBFloat16Weighted](/docs/en/sql-reference/aggregate-functions/reference/quantilebfloat16.md#quantilebfloat16weighted)
- [quantileDD](/docs/en/sql-reference/aggregate-functions/reference/quantileddsketch.md#quantileddsketch)
- [simpleLinearRegression](/docs/en/sql-reference/aggregate-functions/reference/simplelinearregression.md)
- [singleValueOrNull](/docs/en/sql-reference/aggregate-functions/reference/singlevalueornull.md)
- [stochasticLinearRegression](/docs/en/sql-reference/aggregate-functions/reference/stochasticlinearregression.md)
- [stochasticLogisticRegression](/docs/en/sql-reference/aggregate-functions/reference/stochasticlogisticregression.md)
- [categoricalInformationValue](/docs/en/sql-reference/aggregate-functions/reference/categoricalinformationvalue.md)

View File

@ -0,0 +1,57 @@
---
slug: /en/sql-reference/aggregate-functions/reference/singlevalueornull
sidebar_position: 220
---
# singleValueOrNull
The aggregate function `singleValueOrNull` is used to implement subquery operators, such as `x = ALL (SELECT ...)`. It checks if there is only one unique non-NULL value in the data.
If there is only one unique value, it returns it. If there are zero or at least two distinct values, it returns NULL.
**Syntax**
``` sql
singleValueOrNull(x)
```
**Parameters**
- `x` — Column of any [data type](../../data-types/index.md).
**Returned values**
- The unique value, if there is only one unique non-NULL value in `x`.
- `NULL`, if there are zero or at least two distinct values.
**Examples**
Query:
``` sql
CREATE TABLE test (x UInt8 NULL) ENGINE=Log;
INSERT INTO test (x) VALUES (NULL), (NULL), (5), (NULL), (NULL);
SELECT singleValueOrNull(x) FROM test;
```
Result:
```response
┌─singleValueOrNull(x)─┐
│ 5 │
└──────────────────────┘
```
Query:
```sql
INSERT INTO test (x) VALUES (10);
SELECT singleValueOrNull(x) FROM test;
```
Result:
```response
┌─singleValueOrNull(x)─┐
│ ᴺᵁᴸᴸ │
└──────────────────────┘
```

View File

@ -2409,6 +2409,8 @@ simpleaggregatefunction
simplelinearregression
simpod
singlepart
singleValueOrNull
singlevalueornull
sinh
sipHash
siphash