提交 3e6db933 编写于 作者: S Sergei Bocharov

Docs fixes for neighbour

上级 645902d9
......@@ -386,7 +386,7 @@ The window function that provides access to a row at a specified offset which co
**Syntax**
```sql
neighbor(column, offset[, default_value]);
neighbor(column, offset[, default_value])
```
The result of the function depends on the affected data blocks and the order of data in the block.
......@@ -394,16 +394,16 @@ If you make a subquery with ORDER BY and call the function from outside the subq
**Parameters**
- `column` — A column name or scalar expression. Type of data blocks affected.
- `column` — A column name or scalar expression.
- `offset` — The number of rows forwards or backwards from the current row of `column`. [Int64](../../data_types/int_uint.md).
- `default_value` — Optional. The value to be returned if offset goes beyond the scope of the block. Type of data blocks affected.
**Returned value**
**Returned values**
- Value for `column` in `offset` distance from current row if `offset` value is not outside block bounds.
- Default value for `column` if `offset` value is outside block bounds. If `default_value` is given, then it will be used.
Type : type of data blocks affected or default value type.
Type: type of data blocks affected or default value type.
**Example**
......@@ -451,7 +451,6 @@ Result:
│ 8 │ 999 │
│ 9 │ 999 │
└────────┴──────────────────────────┘
```
This function can be used to compute year-over-year metric value:
......@@ -491,7 +490,6 @@ Result:
└────────────┴───────┴───────────┴────────────────┘
```
## runningDifference(x) {#other_functions-runningdifference}
Calculates the difference between successive row values ​​in the data block.
......
......@@ -357,16 +357,82 @@ SELECT
## rowNumberInAllBlocks()
Возвращает порядковый номер строки в блоке данных. Функция учитывает только задействованные блоки данных.
## neighbor(column, offset\[, default_value\])
## neighbor {#neighbor}
Функция позволяет получить доступ к значению в колонке `column`, находящемуся на смещении `offset` относительно текущей строки.
Является частичной реализацией [оконных функций](https://en.wikipedia.org/wiki/SQL_window_function) LEAD() и LAG().
Функция позволяет получить доступ к значению в колонке `column`, находящемуся на смещении `offset` относительно текущей строки. Является частичной реализацией [оконных функций](https://en.wikipedia.org/wiki/SQL_window_function) `LEAD()` и `LAG()`.
Результат функции зависит от затронутых блоков данных и порядка данных в блоке.
Если сделать подзапрос с ORDER BY и вызывать функцию извне подзапроса, можно будет получить ожидаемый результат.
**Синтаксис**
```sql
neighbor(column, offset[, default_value])
```
Результат функции зависит от затронутых блоков данных и порядка данных в блоке. Если сделать подзапрос с ORDER BY и вызывать функцию извне подзапроса, можно будет получить ожидаемый результат.
**Параметры**
- `column` — Имя столбца или скалярное выражение.
- `offset` - Смещение от текущей строки `column`. [Int64](../../data_types/int_uint.md).
- `default_value` - Опциональный параметр. Значение, которое будет возвращено, если смещение выходит за пределы блока данных.
**Возвращаемое значение**
- Значение `column` в смещении от текущей строки, если значение `offset` не выходит за пределы блока.
- Значение по умолчанию для `column`, если значение `offset` выходит за пределы блока данных. Если передан параметр `default_value`, то значение берется из него.
Тип: зависит от данных в `column` или переданного значения по умолчанию в `default_value`.
**Пример**
Запрос:
```sql
SELECT number, neighbor(number, 2) FROM system.numbers LIMIT 10;
```
Ответ:
```text
┌─number─┬─neighbor(number, 2)─┐
│ 0 │ 2 │
│ 1 │ 3 │
│ 2 │ 4 │
│ 3 │ 5 │
│ 4 │ 6 │
│ 5 │ 7 │
│ 6 │ 8 │
│ 7 │ 9 │
│ 8 │ 0 │
│ 9 │ 0 │
└────────┴─────────────────────┘
```
Если значение `offset` выходит за пределы блока данных, то берётся значение по-умолчанию для колонки `column`. Если передан параметр `default_value`, то значение берётся из него.
Например, эта функция может использоваться чтобы оценить year-over-year значение показателя:
Запрос:
```sql
SELECT number, neighbor(number, 2, 999) FROM system.numbers LIMIT 10;
```
Ответ:
```text
┌─number─┬─neighbor(number, 2, 999)─┐
│ 0 │ 2 │
│ 1 │ 3 │
│ 2 │ 4 │
│ 3 │ 5 │
│ 4 │ 6 │
│ 5 │ 7 │
│ 6 │ 8 │
│ 7 │ 9 │
│ 8 │ 999 │
│ 9 │ 999 │
└────────┴──────────────────────────┘
```
Эта функция может использоваться для оценки year-over-year значение показателя:
Запрос:
```sql
WITH toDate('2018-01-01') AS start_date
......@@ -378,6 +444,8 @@ SELECT
FROM numbers(16)
```
Ответ:
```text
┌──────month─┬─money─┬─prev_year─┬─year_over_year─┐
│ 2018-01-01 │ 32 │ 0 │ 0 │
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册