Update deltaSum and deltaSumTimestamp functions

Внес небольшие правки.
This commit is contained in:
Dmitriy 2021-05-12 22:52:52 +03:00
parent cde5009ee8
commit 6616b670e9
4 changed files with 10 additions and 8 deletions

View File

@ -8,7 +8,8 @@ Sums the arithmetic difference between consecutive rows. If the difference is ne
Note that the underlying data must be sorted for this function to work properly. Note that the underlying data must be sorted for this function to work properly.
If you would like to use this function in a [materialized view](../../../sql-reference/statements/create/view.md#materialized), you most likely want to use the [deltaSumTimestamp](deltasumtimestamp.md) method instead. !!! info "Note"
If you would like to use this function in a [materialized view](../../../sql-reference/statements/create/view.md#materialized), you most likely want to use the [deltaSumTimestamp](../../../sql-reference/aggregate-functions/reference/deltasumtimestamp.md#agg_functions-deltasumtimestamp) method instead.
**Syntax** **Syntax**

View File

@ -2,13 +2,13 @@
toc_priority: 141 toc_priority: 141
--- ---
# deltaSumTimestamp {#agg_functions-deltasum} # deltaSumTimestamp {#agg_functions-deltasumtimestamp}
Adds the difference between consecutive rows. If the difference is negative, it is ignored. Adds the difference between consecutive rows. If the difference is negative, it is ignored.
This function is primarily for [materialized views](../../../sql-reference/statements/create/view.md#materialized) that are ordered by some time bucket-aligned timestamp, for example, a `toStartOfMinute` bucket. Because the rows in such a materialized view will all have the same timestamp, it is impossible for them to be merged in the "right" order. This function keeps track of the `timestamp` of the values it's seen, so it's possible to order the states correctly during merging. This function is primarily for [materialized views](../../../sql-reference/statements/create/view.md#materialized) that are ordered by some time bucket-aligned timestamp, for example, a `toStartOfMinute` bucket. Because the rows in such a materialized view will all have the same timestamp, it is impossible for them to be merged in the "right" order. This function keeps track of the `timestamp` of the values it's seen, so it's possible to order the states correctly during merging.
To calculate the delta sum across an ordered collection you can simply use the [deltaSum](./deltasum.md) function. To calculate the delta sum across an ordered collection you can simply use the [deltaSum](../../../sql-reference/aggregate-functions/reference/deltasum.md#agg_functions-deltasum) function.
**Syntax** **Syntax**
@ -33,7 +33,7 @@ Query:
```sql ```sql
SELECT deltaSumTimestamp(value, timestamp) SELECT deltaSumTimestamp(value, timestamp)
FROM (select number as timestamp, [0, 4, 8, 3, 0, 0, 0, 1, 3, 5][number] as value from numbers(1, 10)); FROM (SELECT number AS timestamp, [0, 4, 8, 3, 0, 0, 0, 1, 3, 5][number] AS value FROM numbers(1, 10));
``` ```
Result: Result:

View File

@ -8,7 +8,8 @@ toc_priority: 141
Чтобы эта функция работала должным образом, исходные данные должны быть отсортированы. Чтобы эта функция работала должным образом, исходные данные должны быть отсортированы.
В [материализованном представлении](../../../sql-reference/statements/create/view.md#materialized), вместо этой функции рекомендуется использовать [deltaSumTimestamp](deltasumtimestamp.md). !!! info "Примечание"
В [материализованном представлении](../../../sql-reference/statements/create/view.md#materialized) вместо этой функции рекомендуется использовать [deltaSumTimestamp](../../../sql-reference/aggregate-functions/reference/deltasumtimestamp.md#agg_functions-deltasumtimestamp).
**Синтаксис** **Синтаксис**

View File

@ -2,13 +2,13 @@
toc_priority: 141 toc_priority: 141
--- ---
# deltaSumTimestamp {#agg_functions-deltasum} # deltaSumTimestamp {#agg_functions-deltasumtimestamp}
Прибавляет разницу между последовательными строками. Если разница отрицательна — она будет проигнорирована. Прибавляет разницу между последовательными строками. Если разница отрицательна — она будет проигнорирована.
Эта функция предназначена в первую очередь для [материализованных представлений](../../../sql-reference/statements/create/view.md#materialized), упорядоченных по некоторому временному бакету согласно timestamp, например, по бакету `toStartOfMinute`. Строки в таком материализованном представлении будут иметь одинаковый timestamp. Невозможно, чтобы они были объединены в "правом" порядке. Эта функция отслеживает `timestamp` значений, которые она видит. Поэтому можно правильно упорядочить состояния во время слияния. Эта функция предназначена в первую очередь для [материализованных представлений](../../../sql-reference/statements/create/view.md#materialized), упорядоченных по некоторому временному бакету согласно timestamp, например, по бакету `toStartOfMinute`. Строки в таком материализованном представлении будут иметь одинаковый timestamp. Невозможно, чтобы они были объединены в "правом" порядке. Эта функция отслеживает `timestamp` значений, которые она видит. Поэтому можно правильно упорядочить состояния во время слияния.
Чтобы вычислить разницу между упорядоченными последовательными строками, вы можете использовать функцию [deltaSum](./deltasum.md) вместо функции `deltaSumTimestamp`. Чтобы вычислить разницу между упорядоченными последовательными строками, вы можете использовать функцию [deltaSum](../../../sql-reference/aggregate-functions/reference/deltasum.md#agg_functions-deltasum) вместо функции `deltaSumTimestamp`.
**Синтаксис** **Синтаксис**
@ -18,7 +18,7 @@ deltaSumTimestamp(value, timestamp)
**Аргументы** **Аргументы**
- `value` — входные значения, должны быть типа [Integer](../../data-types/int-uint.md), или [Float](../../data-types/float.md), или [Date](../../data-types/date.md), или [DateTime](../../data-types/datetime.md). - `value` — входные значения, должны быть типа [Integer](../../data-types/int-uint.md) или [Float](../../data-types/float.md) или [Date](../../data-types/date.md) или [DateTime](../../data-types/datetime.md).
- `timestamp` — параметр для упорядочивания значений, должен быть типа [Integer](../../data-types/int-uint.md) или [Float](../../data-types/float.md) или [Date](../../data-types/date.md) или [DateTime](../../data-types/datetime.md). - `timestamp` — параметр для упорядочивания значений, должен быть типа [Integer](../../data-types/int-uint.md) или [Float](../../data-types/float.md) или [Date](../../data-types/date.md) или [DateTime](../../data-types/datetime.md).
**Возвращаемое значение** **Возвращаемое значение**