Skip to content

Commit 25723f1

Browse files
authored
adjust chapter number of featured function (#925)
1 parent c5f3478 commit 25723f1

File tree

10 files changed

+256
-264
lines changed

10 files changed

+256
-264
lines changed

src/zh/UserGuide/Master/Table/Basic-Concept/Query-Data_timecho.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ IoTDB 查询语法提供以下子句:
4444
- WHERE 子句:用于过滤数据,只选择满足特定条件的数据行。这个子句在逻辑上紧跟在 FROM 子句之后执行。详细语法见:[WHERE 子句](../SQL-Manual/Where-Clause.md)
4545
- GROUP BY 子句:当需要对数据进行聚合时使用,指定了用于分组的列。详细语法见:[GROUP BY 子句](../SQL-Manual/GroupBy-Clause.md)
4646
- HAVING 子句:在 GROUP BY 子句之后使用,用于对已经分组的数据进行过滤。与 WHERE 子句类似,但 HAVING 子句在分组后执行。详细语法见:[HAVING 子句](../SQL-Manual/Having-Clause.md)
47-
- WINDOW FUNCTION:窗口函数,是一种基于与当前行相关的特定行集合(称为“窗口”)​ 对每一行进行计算的特殊函数。它将分组操作、排序与可定义的计算范围结合,在不折叠原始数据行的前提下实现复杂的跨行计算。详细语法见:[窗口函数](../SQL-Manual/Featured-Functions_timecho.md#_2-窗口函数)
47+
- WINDOW FUNCTION:窗口函数,是一种基于与当前行相关的特定行集合(称为“窗口”)​ 对每一行进行计算的特殊函数。它将分组操作、排序与可定义的计算范围结合,在不折叠原始数据行的前提下实现复杂的跨行计算。详细语法见:[窗口函数](../SQL-Manual/Featured-Functions_timecho.md#_4-窗口函数)
4848
- FILL 子句:用于处理查询结果中的空值,用户可以使用 FILL 子句来指定数据缺失时的填充模式(如前一个非空值或线性插值)来填充 null 值,以便于数据可视化和分析。 详细语法见:[FILL 子句](../SQL-Manual/Fill-Clause.md)
4949
- ORDER BY 子句:对查询结果进行排序,可以指定升序(ASC)或降序(DESC),以及 NULL 值的处理方式(NULLS FIRST 或 NULLS LAST)。详细语法见:[ORDER BY 子句](../SQL-Manual/OrderBy-Clause.md)
5050
- OFFSET 子句:用于指定查询结果的起始位置,即跳过前 OFFSET 行。与 LIMIT 子句配合使用。详细语法见:[LIMIT 和 OFFSET 子句](../SQL-Manual/Limit-Offset-Clause.md)

src/zh/UserGuide/Master/Table/QuickStart/QuickStart_timecho.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262

6363
2. 数据写入&更新:在数据写入&更新方面,IoTDB 提供了多种方式来插入实时数据,基本的数据写入&更新操作请查看 [数据写入&更新](../Basic-Concept/Write-Updata-Data.md)
6464

65-
3. 数据查询:IoTDB 提供了丰富的数据查询功能,数据查询的基本介绍请查看 [数据查询](../Basic-Concept/Query-Data.md),其中包含了适用于识别时序数据中的特定模式、检测特定事件等业务场景的[行模式识别](../SQL-Manual/Row-Pattern-Recognition.md),以及常用于数据分析场景的[窗口函数](../SQL-Manual/Featured-Functions_timecho.md#_2-窗口函数)等特色函数
65+
3. 数据查询:IoTDB 提供了丰富的数据查询功能,数据查询的基本介绍请查看 [数据查询](../Basic-Concept/Query-Data.md),其中包含了适用于识别时序数据中的特定模式、检测特定事件等业务场景的[行模式识别](../SQL-Manual/Row-Pattern-Recognition.md),以及常用于数据分析场景的[窗口函数](../SQL-Manual/Featured-Functions_timecho.md#_4-窗口函数)等特色函数
6666

6767
4. 数据删除:IoTDB 提供了两种删除方式,分别为SQL语句删除与过期自动删除(TTL)
6868

src/zh/UserGuide/Master/Table/SQL-Manual/Featured-Functions_apache.md

Lines changed: 52 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,20 @@
2121

2222
# 特色函数
2323

24-
## 1. 时序特色函数
24+
## 1. 降采样函数
2525

26-
### 1.1 降采样函数
26+
### 1.1 `date_bin` 函数
2727

28-
#### 1.1.1 `date_bin` 函数
29-
30-
##### 功能描述:
28+
#### 1.1.1 功能描述
3129

3230
`date_bin` 是一个标量函数,用于将时间戳规整到指定的时间区间起点,并结合 `GROUP BY` 子句实现降采样。
3331

3432
- 部分区间结果为空:只会对满足条件的数据进行时间戳规整,不会填充缺失的时间区间。
3533
- 全部区间结果为空::满足条件的整个查询范围内没有数据时,降采样返回空结果集
3634

37-
##### 使用示例
35+
#### 1.1.2 使用示例
3836

39-
###### 示例数据
37+
##### 示例数据
4038

4139
[示例数据页面](../Reference/Sample-Data.md)中,包含了用于构建表结构和插入数据的SQL语句,下载并在IoTDB CLI中执行这些语句,即可将数据导入IoTDB,您可以使用这些数据来测试和执行示例中的SQL语句,并获得相应的结果。
4240

@@ -117,16 +115,16 @@ SELECT date_bin(1h, time) AS hour_time, avg(temperature) AS avg_temp
117115
+-----------------------------+--------+
118116
```
119117

120-
#### 1.1.2 `date_bin_gapfill` 函数
118+
### 1.2 `date_bin_gapfill` 函数
121119

122-
##### 功能描述
120+
#### 1.2.1 功能描述
123121

124122
`date_bin_gapfill``date_bin` 的扩展,能够填充缺失的时间区间,从而返回完整的时间序列。
125123

126124
- 部分区间结果为空:对满足条件的数据进行时间戳规整,并填充缺失的时间区间。
127125
- 全部区间结果为空::整个查询范围内没有数据时,`date_bin_gapfill`会返回空结果集
128126

129-
##### 功能限制
127+
#### 1.2.2 功能限制
130128

131129
- **`date_bin_gapfill`** **必须与** **`GROUP BY`** **子句搭配使用**,如果用在其他子句中,不会报错,但不会执行 gapfill 功能,效果与使用 `date_bin` 相同。
132130
- **每个** **`GROUP BY`** **子句中只能使用一个** **`date_bin_gapfill`**。如果出现多个 `date_bin_gapfill`,会报错:multiple date_bin_gapfill calls not allowed
@@ -138,7 +136,7 @@ SELECT date_bin(1h, time) AS hour_time, avg(temperature) AS avg_temp
138136
- **使用** **`date_bin_gapfill`** **时,如果出现其他时间过滤条件**,会报错。时间过滤条件与其他值过滤条件只能通过 `AND` 连接。
139137
- **如果不能从 where 子句中推断出 startTime 和 endTime,则报错**:could not infer startTime or endTime from WHERE clause。
140138

141-
##### 使用示例
139+
#### 1.2.3 使用示例
142140

143141
示例 1:填充缺失时间区间
144142

@@ -215,19 +213,19 @@ GROUP BY 1, device_id;
215213
+---------+---------+--------+
216214
```
217215

218-
### 1.2 DIFF函数
216+
## 2. DIFF函数
219217

220-
##### 功能概述
218+
### 2.1 功能概述
221219

222220
`DIFF` 函数用于计算当前行与上一行的差值。对于第一行,由于没有前一行数据,因此永远返回 `NULL`
223221

224-
##### 函数定义
222+
### 2.2 函数定义
225223

226224
```
227225
DIFF(numberic[, boolean]) -> Double
228226
```
229227

230-
##### 参数说明
228+
### 2.3 参数说明
231229

232230
- 第一个参数:数值类型
233231

@@ -241,12 +239,12 @@ DIFF(numberic[, boolean]) -> Double
241239
- **`true`**:忽略 `NULL` 值,向前找到第一个非 `NULL` 值进行差值计算。如果前面没有非 `NULL` 值,则返回 `NULL`
242240
- **`false`**:不忽略 `NULL` 值,如果前一行为 `NULL`,则差值结果为 `NULL`
243241

244-
##### 注意事项
242+
### 2.4 注意事项
245243

246244
- 在树模型中,第二个参数需要指定为 `'ignoreNull'='true'``'ignoreNull'='false'`,但在表模型中,只需指定为 `true``false`
247245
- 如果用户写成 `'ignoreNull'='true'``'ignoreNull'='false'`,表模型会将其视为对两个字符串常量进行等号比较,返回布尔值,但结果总是 `false`,等价于指定第二个参数为 `false`
248246

249-
##### 使用示例
247+
### 2.5 使用示例
250248

251249
示例 1:忽略 `NULL`
252250

@@ -325,7 +323,7 @@ WHERE device_id = '100';
325323
+-----------------------------+-----------+-----------+-----------+
326324
```
327325

328-
### 1.3 时序分窗函数
326+
## 3. 时序分窗函数
329327

330328
原始示例数据如下:
331329

@@ -348,19 +346,19 @@ CREATE TABLE bid(time TIMESTAMP TIME, stock_id STRING TAG, price FLOAT FIELD);
348346
INSERT INTO bid(time, stock_id, price) VALUES('2021-01-01T09:05:00','AAPL',100.0),('2021-01-01T09:06:00','TESL',200.0),('2021-01-01T09:07:00','AAPL',103.0),('2021-01-01T09:07:00','TESL',202.0),('2021-01-01T09:09:00','AAPL',102.0),('2021-01-01T09:15:00','TESL',195.0);
349347
```
350348

351-
#### 1.3.1 HOP
349+
### 3.1 HOP
352350

353-
##### 功能描述
351+
#### 3.1.1 功能描述
354352

355353
HOP 函数用于按时间分段分窗分析,识别每一行数据所属的时间窗口。该函数通过指定固定窗口大小(size)和窗口滑动步长(SLIDE),将数据按时间戳分配到所有与其时间戳重叠的窗口中。若窗口之间存在重叠(步长 < 窗口大小),数据会自动复制到多个窗口。
356354

357-
##### 函数定义
355+
#### 3.1.2 函数定义
358356

359357
```SQL
360358
HOP(data, timecol, size, slide[, origin])
361359
```
362360

363-
##### 参数说明
361+
#### 3.1.3 参数说明
364362

365363
| 参数名 | 参数类型 | 参数属性 | 描述 |
366364
| --------- | ---------- | --------------------------------- | -------------------- |
@@ -370,15 +368,15 @@ HOP(data, timecol, size, slide[, origin])
370368
| SLIDE | 标量参数 | 长整数类型 | 窗口滑动步长 |
371369
| ORIGIN | 标量参数 | 时间戳类型默认值:Unix 纪元时间 | 第一个窗口起始时间 |
372370

373-
##### 返回结果
371+
#### 3.1.4 返回结果
374372

375373
HOP 函数的返回结果列包含:
376374

377375
* window\_start: 窗口开始时间(闭区间)
378376
* window\_end: 窗口结束时间(开区间)
379377
* 映射列:DATA 参数的所有输入列
380378

381-
##### 使用示例
379+
#### 3.1.5 使用示例
382380

383381
```SQL
384382
IoTDB> SELECT * FROM HOP(DATA => bid,TIMECOL => 'time',SLIDE => 5m,SIZE => 10m);
@@ -413,18 +411,18 @@ IoTDB> SELECT window_start, window_end, stock_id, avg(price) as avg FROM HOP(DAT
413411
+-----------------------------+-----------------------------+--------+------------------+
414412
```
415413

416-
#### 1.3.2 SESSION
414+
### 3.2 SESSION
417415

418-
##### 功能描述
416+
#### 3.2.1 功能描述
419417

420418
SESSION 函数用于按会话间隔对数据进行分窗。系统逐行检查与前一行的时间间隔,小于阈值(GAP)则归入当前窗口,超过则归入下一个窗口。
421419

422-
##### 函数定义
420+
#### 3.2.2 函数定义
423421

424422
```SQL
425423
SESSION(data [PARTITION BY(pkeys, ...)] [ORDER BY(okeys, ...)], timecol, gap)
426424
```
427-
##### 参数说明
425+
#### 3.2.3 参数说明
428426

429427
| 参数名 | 参数类型 | 参数属性 | 描述 |
430428
| --------- | ---------- | -------------------------- | ---------------------------------------- |
@@ -433,15 +431,15 @@ SESSION(data [PARTITION BY(pkeys, ...)] [ORDER BY(okeys, ...)], timecol, gap)
433431
|
434432
| GAP | 标量参数 | 长整数类型 | 会话间隔阈值 |
435433

436-
##### 返回结果
434+
#### 3.2.4 返回结果
437435

438436
SESSION 函数的返回结果列包含:
439437

440438
* window\_start: 会话窗口内的第一条数据的时间
441439
* window\_end: 会话窗口内的最后一条数据的时间
442440
* 映射列:DATA 参数的所有输入列
443441

444-
##### 使用示例
442+
#### 3.2.5 使用示例
445443

446444
```SQL
447445
IoTDB> SELECT * FROM SESSION(DATA => bid PARTITION BY stock_id ORDER BY time,TIMECOL => 'time',GAP => 2m);
@@ -467,34 +465,34 @@ IoTDB> SELECT window_start, window_end, stock_id, avg(price) as avg FROM SESSION
467465
+-----------------------------+-----------------------------+--------+------------------+
468466
```
469467

470-
#### 1.3.3 VARIATION
468+
### 3.3 VARIATION
471469

472-
##### 功能描述
470+
#### 3.3.1 功能描述
473471

474472
VARIATION 函数用于按数据差值分窗,将第一条数据作为首个窗口的基准值,每个数据点会与基准值进行差值运算,如果差值小于给定的阈值(delta)则加入当前窗口;如果超过阈值,则分为下一个窗口,将该值作为下一个窗口的基准值。
475473

476-
##### 函数定义
474+
#### 3.3.2 函数定义
477475

478476
```sql
479477
VARIATION(data [PARTITION BY(pkeys, ...)] [ORDER BY(okeys, ...)], col, delta)
480478
```
481479

482-
##### 参数说明
480+
#### 3.3.3 参数说明
483481

484482
| 参数名 | 参数类型 | 参数属性 | 描述 |
485483
| -------- | ---------- | -------------------------- | ---------------------------------------- |
486484
| DATA | 表参数 | SET SEMANTICPASS THROUGH | 输入表通过 pkeys、okeys 指定分区和排序 |
487485
| COL | 标量参数 | 字符串类型 | 标识对哪一列计算差值 |
488486
| DELTA | 标量参数 | 浮点数类型 | 差值阈值 |
489487

490-
##### 返回结果
488+
#### 3.3.4 返回结果
491489

492490
VARIATION 函数的返回结果列包含:
493491

494492
* window\_index: 窗口编号
495493
* 映射列:DATA 参数的所有输入列
496494

497-
##### 使用示例
495+
#### 3.3.5 使用示例
498496

499497
```sql
500498
IoTDB> SELECT * FROM VARIATION(DATA => bid PARTITION BY stock_id ORDER BY time,COL => 'price',DELTA => 2.0);
@@ -521,33 +519,33 @@ IoTDB> SELECT first(time) as window_start, last(time) as window_end, stock_id, a
521519
+-----------------------------+-----------------------------+--------+-----+
522520
```
523521

524-
#### 1.3.4 CAPACITY
522+
### 3.4 CAPACITY
525523

526-
##### 功能描述
524+
#### 3.4.1 功能描述
527525

528526
CAPACITY 函数用于按数据点数(行数)分窗,每个窗口最多有 SIZE 行数据。
529527

530-
##### 函数定义
528+
#### 3.4.2 函数定义
531529

532530
```sql
533531
CAPACITY(data [PARTITION BY(pkeys, ...)] [ORDER BY(okeys, ...)], size)
534532
```
535533

536-
##### 参数说明
534+
#### 3.4.3 参数说明
537535

538536
| 参数名 | 参数类型 | 参数属性 | 描述 |
539537
| -------- | ---------- | -------------------------- | ---------------------------------------- |
540538
| DATA | 表参数 | SET SEMANTICPASS THROUGH | 输入表通过 pkeys、okeys 指定分区和排序 |
541539
| SIZE | 标量参数 | 长整数类型 | 窗口大小 |
542540

543-
##### 返回结果
541+
#### 3.4.4 返回结果
544542

545543
CAPACITY 函数的返回结果列包含:
546544

547545
* window\_index: 窗口编号
548546
* 映射列:DATA 参数的所有输入列
549547

550-
##### 使用示例
548+
#### 3.4.5 使用示例
551549

552550
```sql
553551
IoTDB> SELECT * FROM CAPACITY(DATA => bid PARTITION BY stock_id ORDER BY time, SIZE => 2);
@@ -574,18 +572,18 @@ IoTDB> SELECT first(time) as start_time, last(time) as end_time, stock_id, avg(p
574572
+-----------------------------+-----------------------------+--------+-----+
575573
```
576574

577-
#### 1.3.5 TUMBLE
575+
### 3.5 TUMBLE
578576

579-
##### 功能描述
577+
#### 3.5.1 功能描述
580578

581579
TUMBLE 函数用于通过时间属性字段为每行数据分配一个窗口,滚动窗口的大小固定且不重复。
582580

583-
##### 函数定义
581+
#### 3.5.2 函数定义
584582

585583
```sql
586584
TUMBLE(data, timecol, size[, origin])
587585
```
588-
##### 参数说明
586+
#### 3.5.3 参数说明
589587

590588
| 参数名 | 参数类型 | 参数属性 | 描述 |
591589
| --------- | ---------- | --------------------------------- | -------------------- |
@@ -594,15 +592,15 @@ TUMBLE(data, timecol, size[, origin])
594592
| SIZE | 标量参数 | 长整数类型 | 窗口大小,需为正数 |
595593
| ORIGIN | 标量参数 | 时间戳类型默认值:Unix 纪元时间 | 第一个窗口起始时间 |
596594

597-
##### 返回结果
595+
#### 3.5.4 返回结果
598596

599597
TUBMLE 函数的返回结果列包含:
600598

601599
* window\_start: 窗口开始时间(闭区间)
602600
* window\_end: 窗口结束时间(开区间)
603601
* 映射列:DATA 参数的所有输入列
604602

605-
##### 使用示例
603+
#### 3.5.5 使用示例
606604

607605
```SQL
608606
IoTDB> SELECT * FROM TUMBLE( DATA => bid, TIMECOL => 'time', SIZE => 10m);
@@ -628,19 +626,19 @@ IoTDB> SELECT window_start, window_end, stock_id, avg(price) as avg FROM TUMBLE(
628626
+-----------------------------+-----------------------------+--------+------------------+
629627
```
630628

631-
#### 1.3.6 CUMULATE
629+
### 3.6 CUMULATE
632630

633-
##### 功能描述
631+
#### 3.6.1 功能描述
634632

635633
Cumulate 函数用于从初始的窗口开始,创建相同窗口开始但窗口结束步长不同的窗口,直到达到最大的窗口大小。每个窗口包含其区间内的元素。例如:1小时步长,24小时大小的累计窗口,每天可以获得如下这些窗口:`[00:00, 01:00)``[00:00, 02:00)``[00:00, 03:00)`, …, `[00:00, 24:00)`
636634

637-
##### 函数定义
635+
#### 3.6.2 函数定义
638636

639637
```sql
640638
CUMULATE(data, timecol, size, step[, origin])
641639
```
642640

643-
##### 参数说明
641+
#### 3.6.3 参数说明
644642

645643
| 参数名 | 参数类型 | 参数属性 | 描述 |
646644
| --------- | ---------- | --------------------------------- | -------------------------------------------- |
@@ -652,15 +650,15 @@ CUMULATE(data, timecol, size, step[, origin])
652650

653651
> 注意:size 如果不是 step 的整数倍,则会报错`Cumulative table function requires size must be an integral multiple of step`
654652
655-
##### 返回结果
653+
#### 3.6.4 返回结果
656654

657655
CUMULATE函数的返回结果列包含:
658656

659657
* window\_start: 窗口开始时间(闭区间)
660658
* window\_end: 窗口结束时间(开区间)
661659
* 映射列:DATA 参数的所有输入列
662660

663-
##### 使用示例
661+
#### 3.6.5 使用示例
664662

665663
```sql
666664
IoTDB> SELECT * FROM CUMULATE(DATA => bid,TIMECOL => 'time',STEP => 2m,SIZE => 10m);

0 commit comments

Comments
 (0)