mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-10 09:32:06 +00:00
enbaskakova-DOCSUP-652 (#101)
* "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited" * "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited" * "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited" * Update docs/en/sql_reference/aggregate_functions/combinators.md Co-Authored-By: BayoNet <da-daos@yandex.ru> * Update docs/en/sql_reference/aggregate_functions/combinators.md Co-Authored-By: BayoNet <da-daos@yandex.ru> * Update docs/en/sql_reference/aggregate_functions/combinators.md Co-Authored-By: BayoNet <da-daos@yandex.ru> * Update docs/en/sql_reference/aggregate_functions/combinators.md Co-Authored-By: BayoNet <da-daos@yandex.ru> * Update docs/en/sql_reference/aggregate_functions/combinators.md Co-Authored-By: BayoNet <da-daos@yandex.ru> * "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited" * "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited" * "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited" Co-authored-by: elenbaskakova <elenbaskakova@yandex-team.ru> Co-authored-by: BayoNet <da-daos@yandex.ru>
This commit is contained in:
parent
886e54f188
commit
639fee7610
@ -51,33 +51,108 @@ Converts an aggregate function for tables into an aggregate function for arrays
|
||||
|
||||
## -OrDefault {#agg-functions-combinator-ordefault}
|
||||
|
||||
Fills the default value of the aggregate function’s return type if there is nothing to aggregate.
|
||||
Changes behaviour of an aggregate function.
|
||||
|
||||
If an aggregate function doesn't have input values, with this combinator it returns the default value for its return data type. Applies to the aggregate functions that can take empty input data.
|
||||
`-OrDefault` can be combined with other combinators.
|
||||
|
||||
**Syntax**
|
||||
|
||||
``` sql
|
||||
<aggFunction>OrDefault(x)
|
||||
```
|
||||
|
||||
**Parameters**
|
||||
|
||||
- `x` — Aggregate function parameters.
|
||||
|
||||
**Returned values**
|
||||
|
||||
Returns the default value of an aggregate function’s return type if there is nothing to aggregate.
|
||||
|
||||
Type depends on the aggregate function used.
|
||||
|
||||
**Example**
|
||||
|
||||
Query:
|
||||
|
||||
``` sql
|
||||
SELECT avg(number), avgOrDefault(number) FROM numbers(0)
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
``` text
|
||||
┌─avg(number)─┬─avgOrDefault(number)─┐
|
||||
│ nan │ 0 │
|
||||
└─────────────┴──────────────────────┘
|
||||
```
|
||||
|
||||
## -OrNull {#agg-functions-combinator-ornull}
|
||||
Also `-OrDefault` can be used with a few combinators. It is useful when the aggregate function does not accept the empty input.
|
||||
|
||||
Fills `null` if there is nothing to aggregate. The return column will be nullable.
|
||||
Query:
|
||||
|
||||
``` sql
|
||||
SELECT avg(number), avgOrNull(number) FROM numbers(0)
|
||||
SELECT avgOrDefaultIf(x, x > 10)
|
||||
FROM
|
||||
(
|
||||
SELECT toDecimal32(1.23, 2) AS x
|
||||
)
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
``` text
|
||||
┌─avg(number)─┬─avgOrNull(number)─┐
|
||||
│ nan │ ᴺᵁᴸᴸ │
|
||||
└─────────────┴───────────────────┘
|
||||
┌─avgOrDefaultIf(x, greater(x, 10))─┐
|
||||
│ 0.00 │
|
||||
└───────────────────────────────────┘
|
||||
```
|
||||
|
||||
-OrDefault and -OrNull can be combined with other combinators. It is useful when the aggregate function does not accept the empty input.
|
||||
|
||||
## -OrNull {#agg-functions-combinator-ornull}
|
||||
|
||||
Changes behaviour of an aggregate function.
|
||||
|
||||
This combinator replaces returned value with nullable one, if the aggregate function does not have values to calculate. Works with different aggregate functions.
|
||||
`-OrNull` can be combined with other combinators.
|
||||
|
||||
**Syntax**
|
||||
|
||||
``` sql
|
||||
<aggFunction>OrNull(x)
|
||||
```
|
||||
|
||||
**Parameters**
|
||||
|
||||
- `x` — Aggregate function parameters.
|
||||
|
||||
**Returned values**
|
||||
|
||||
Returns the `Null` value of an aggregate function’s return type if there is nothing to aggregate.
|
||||
|
||||
Type: [Nullable](../data_types/nullable.md).
|
||||
|
||||
**Example**
|
||||
|
||||
Add `-orNull` to the end of aggregate function.
|
||||
|
||||
Query:
|
||||
|
||||
``` sql
|
||||
SELECT sumOrNull(number) FROM numbers(10) WHERE number > 10
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
``` text
|
||||
┌─sumOrNull(number)─┐
|
||||
│ ᴺᵁᴸᴸ │
|
||||
└───────────────────┘
|
||||
```
|
||||
|
||||
Also `-OrNull` can be used with a few combinators. It is useful when the aggregate function does not accept the empty input.
|
||||
|
||||
Query:
|
||||
|
||||
``` sql
|
||||
SELECT avgOrNullIf(x, x > 10)
|
||||
@ -87,6 +162,8 @@ FROM
|
||||
)
|
||||
```
|
||||
|
||||
Result:
|
||||
|
||||
``` text
|
||||
┌─avgOrNullIf(x, greater(x, 10))─┐
|
||||
│ ᴺᵁᴸᴸ │
|
||||
|
@ -45,6 +45,127 @@
|
||||
|
||||
Преобразует агрегатную функцию для таблиц в агрегатную функцию для массивов, которая применяет агрегирование для соответствующих элементов массивов и возвращает массив результатов. Например, `sumForEach` для массивов `[1, 2]`, `[3, 4, 5]` и `[6, 7]` даст результат `[10, 13, 5]`, сложив соответственные элементы массивов.
|
||||
|
||||
## -OrDefault {#agg-functions-combinator-ordefault}
|
||||
|
||||
Изменяет поведение агрегатной функции.
|
||||
|
||||
Если на вход агрегатной функции передан пустой набор данных, то с помощью комбинатора `-OrDefault` функция возвращает значение по умолчанию для соответствующего типа данных. Комбинатор применяется к агрегатным функциям, которые могут принимать пустые входные данные.
|
||||
`-OrDefault` можно использовать с другими комбинаторами.
|
||||
|
||||
**Синтаксис**
|
||||
|
||||
``` sql
|
||||
<aggFunction>OrDefault(x)
|
||||
```
|
||||
|
||||
**Параметры**
|
||||
|
||||
- `x` — Параметры агрегатной функции.
|
||||
|
||||
**Возращаемые зачения**
|
||||
|
||||
Возвращает значение по умолчанию для соответствующего типа агрегатной функции, если агрегировать нечего.
|
||||
|
||||
Тип данных зависит от используемой агрегатной функции.
|
||||
|
||||
**Пример**
|
||||
|
||||
Запрос:
|
||||
|
||||
``` sql
|
||||
SELECT avg(number), avgOrDefault(number) FROM numbers(0)
|
||||
```
|
||||
|
||||
Результат:
|
||||
|
||||
``` text
|
||||
┌─avg(number)─┬─avgOrDefault(number)─┐
|
||||
│ nan │ 0 │
|
||||
└─────────────┴──────────────────────┘
|
||||
```
|
||||
|
||||
Также `-OrDefault` может использоваться с другими комбинаторами. Это полезно, когда агрегатная функция не принимает пустые входные данные.
|
||||
|
||||
Запрос:
|
||||
|
||||
``` sql
|
||||
SELECT avgOrDefaultIf(x, x > 10)
|
||||
FROM
|
||||
(
|
||||
SELECT toDecimal32(1.23, 2) AS x
|
||||
)
|
||||
```
|
||||
|
||||
Результат:
|
||||
|
||||
``` text
|
||||
┌─avgOrDefaultIf(x, greater(x, 10))─┐
|
||||
│ 0.00 │
|
||||
└───────────────────────────────────┘
|
||||
```
|
||||
|
||||
|
||||
## -OrNull {#agg-functions-combinator-ornull}
|
||||
|
||||
Изменяет поведение агрегатной функции.
|
||||
|
||||
Этот комбинатор заменяет возвращаемое значение на `Null`, если на вход агрегатной функции передан пустой набор данных. Комбинатор работает с различными агрегатными функциями.
|
||||
`-OrNull` может использоваться с другими комбинаторами.
|
||||
|
||||
**Синтаксис**
|
||||
|
||||
``` sql
|
||||
<aggFunction>OrNull(x)
|
||||
```
|
||||
|
||||
**Параметры**
|
||||
|
||||
- `x` — Параметры агрегатной функции.
|
||||
|
||||
**Возвращаемые значения**
|
||||
|
||||
Возвращает значение `Null` для соответствующего типа агрегатной функции, если агрегировать нечего.
|
||||
|
||||
Тип: [Nullable](../data_types/nullable.md).
|
||||
|
||||
**Пример**
|
||||
|
||||
Добавьте `-orNull` в конец агрегатной функции.
|
||||
|
||||
Запрос:
|
||||
|
||||
``` sql
|
||||
SELECT sumOrNull(number) FROM numbers(10) WHERE number > 10
|
||||
```
|
||||
|
||||
Результат:
|
||||
|
||||
``` text
|
||||
┌─sumOrNull(number)─┐
|
||||
│ ᴺᵁᴸᴸ │
|
||||
└───────────────────┘
|
||||
```
|
||||
|
||||
Также `-OrNull` может использоваться с другими комбинаторами. Это полезно, когда агрегатная функция не принимает пустые входные данные.
|
||||
|
||||
Запрос:
|
||||
|
||||
``` sql
|
||||
SELECT avgOrNullIf(x, x > 10)
|
||||
FROM
|
||||
(
|
||||
SELECT toDecimal32(1.23, 2) AS x
|
||||
)
|
||||
```
|
||||
|
||||
Результат:
|
||||
|
||||
``` text
|
||||
┌─avgOrNullIf(x, greater(x, 10))─┐
|
||||
│ ᴺᵁᴸᴸ │
|
||||
└────────────────────────────────┘
|
||||
```
|
||||
|
||||
## -Resample {#agg-functions-combinator-resample}
|
||||
|
||||
Позволяет поделить данные на группы, а затем по-отдельности агрегирует данные для этих групп. Группы образуются разбиением значений одного из столбцов на интервалы.
|
||||
|
Loading…
Reference in New Issue
Block a user