summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorudovichenko-r <[email protected]>2022-09-19 18:19:01 +0300
committerudovichenko-r <[email protected]>2022-09-19 18:19:01 +0300
commit2b93d69511e485b572a73be03819e21c80f97f86 (patch)
treeff9817032e03c29ad0280de4988ba766adcf0d64
parentf7178ec1e428904ba55ebc0225d16fb00a928f73 (diff)
[doc] Describe new features
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/percentile_median.md2
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/aggregation/simple.md7
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/builtins/_includes/list.md9
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/select/limit_offset.md11
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
+```