diff options
author | udovichenko-r <[email protected]> | 2022-09-19 18:19:01 +0300 |
---|---|---|
committer | udovichenko-r <[email protected]> | 2022-09-19 18:19:01 +0300 |
commit | 2b93d69511e485b572a73be03819e21c80f97f86 (patch) | |
tree | ff9817032e03c29ad0280de4988ba766adcf0d64 | |
parent | f7178ec1e428904ba55ebc0225d16fb00a928f73 (diff) |
[doc] Describe new features
4 files changed, 21 insertions, 8 deletions
diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/percentile_median.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/percentile_median.md index 94192fd287d..4b54735a58e 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/percentile_median.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/percentile_median.md @@ -3,8 +3,10 @@ **Сигнатура** ``` PERCENTILE(Double?, Double)->Double? +PERCENTILE(Interval?, Double)->Interval? MEDIAN(Double? [, Double])->Double? +MEDIAN(Interval? [, Double])->Interval? ``` Подсчет процентилей по амортизированной версии алгоритма [TDigest](https://github.com/tdunning/t-digest). `MEDIAN` — алиас для `PERCENTILE(N, 0.5)`. diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/simple.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/simple.md index 94173a0b4f4..088e7817eb5 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/simple.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/simple.md @@ -51,12 +51,13 @@ SELECT MIN(value), MAX(value) FROM my_table; ``` SUM(Unsigned?)->Uint64? SUM(Signed?)->Int64? +SUM(Interval?)->Interval? SUM(Decimal(N, M)?)->Decimal(35, M)? ``` Сумма чисел. -В качестве аргумента допустимо произвольное вычислимое выражение с числовым результатом. +В качестве аргумента допустимо произвольное вычислимое выражение с числовым результатом или типом `Interval`. Целые числа автоматически расширяются до 64 бит, чтобы уменьшить риск переполнения. @@ -69,12 +70,13 @@ SELECT SUM(value) FROM my_table; **Сигнатура** ``` AVG(Double?)->Double? +AVG(Interval?)->Interval? AVG(Decimal(N, M)?)->Decimal(N, M)? ``` Арифметическое среднее. -В качестве аргумента допустимо произвольное вычислимое выражение с числовым результатом. +В качестве аргумента допустимо произвольное вычислимое выражение с числовым результатом или типом `Interval`. Целочисленные значения и интервалы времени автоматически приводятся к Double. @@ -116,6 +118,7 @@ SELECT ``` SUM_IF(Unsigned?, Bool?)->Uint64? SUM_IF(Signed?, Bool?)->Int64? +SUM_IF(Interval?, Bool?)->Interval? AVG_IF(Double?, Bool?)->Double? ``` diff --git a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/list.md b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/list.md index 701268e78a9..9a7917651fe 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/list.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/list.md @@ -633,22 +633,25 @@ ListFold1Map(List<T>?, (T)->Tuple<U,S>, (T, S)->Tuple<U,S>)->List<U>? ## ListFromRange {#listfromrange} -Генерация последовательности чисел с указанным шагом. Аналог `xrange` в Python 2, но дополнительно с поддержкой чисел с плавающей точкой. +Генерация последовательности чисел или дат с указанным шагом. Аналог `xrange` в Python 2, но дополнительно с поддержкой дат и чисел с плавающей точкой. Аргументы: 1. Начало 2. Конец -3. Шаг (опционально, по умолчанию 1) +3. Шаг. Опционально, по умолчанию 1 для числовых последовательностей, 1 день для `Date`/`TzDate`, 1 секунда для `Datetime`/`TzDatetime` и 1 микросекунда для `Timestamp`/`TzTimestamp`/`Interval` Особенности: * Конец не включительный, т.е. `ListFromRange(1,3) == AsList(1,2)`. * Тип элементов результатов выбирается как наиболее широкий из типов аргументов, например результатом `ListFromRange(1, 2, 0.5)` получится список `Double`. +* Если начало и конец имеют один из типов дат, то шаг должен иметь тип `Interval`. * Список является «ленивым», но при неправильном использовании всё равно может привести к потреблению большого объема оперативной памяти. * Если шаг положительный и конец меньше или равен началу, то список будет пустой. * Если шаг отрицательный и конец больше или равен началу, то список будет пустой. * Если шаг не положительный и не отрицательный (0 или NaN), то список будет пустой. +* Если один из параметров опциональный, то результат будет опциональный список. +* Если один из параметров равен `NULL`, то результат будет `NULL`. **Примеры** ``` yql @@ -658,7 +661,7 @@ SELECT ``` ``` yql -SELECT ListFromRange(Datetime("2022-05-23T15:30:00Z"), Datetime("2022-05-30T15:30:00Z"), Unwrap(DateTime::IntervalFromDays(1))); +SELECT ListFromRange(Datetime("2022-05-23T15:30:00Z"), Datetime("2022-05-30T15:30:00Z"), DateTime::IntervalFromDays(1)); ``` **Сигнатура** diff --git a/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/select/limit_offset.md b/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/select/limit_offset.md index d274d6fb71b..86c4237a2d5 100644 --- a/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/select/limit_offset.md +++ b/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/select/limit_offset.md @@ -1,9 +1,9 @@ ## LIMIT и OFFSET {#limit-offset} -`LIMIT` ограничивает вывод указанным количеством строк. По умолчанию вывод не ограничен. +`LIMIT` ограничивает вывод указанным количеством строк. Если значение лимита равно `NULL`, или `LIMIT` не указан, то вывод не ограничен. -`OFFSET` указывает отступ от начала (в строках). По умолчанию — ноль. +`OFFSET` указывает отступ от начала (в строках). Если значение отступа равно `NULL`, или `OFFSET` не указан, то используется значение ноль. **Примеры** @@ -20,4 +20,9 @@ LIMIT 7 OFFSET 3; ``` yql SELECT key FROM my_table LIMIT 3, 7; -- эквивалентно предыдущему примеру -```
\ No newline at end of file +``` + +``` yql +SELECT key FROM my_table +LIMIT NULL OFFSET NULL; -- эквивалентно SELECT key FROM my_table +``` |