ch.group()

阅读(689) 标签: 管道记录, 相邻值分组, 管道,

描述:

管道中附加相邻值分组动作后返回原管道。

语法:

ch.group(x,…)

备注:

管道ch附加计算,ch按照x分组,x只和相邻的记录对比,相当于归并,要求ch有序,返回原管道。

该函数属于附加计算动作

选项:

@i

x是布尔表达式,如果x的结果为true则开始新的一组。此时只有一个x

@1

取每组的第一条记录组成排列返回到原管道(注意是数字1,不是字母l)。

参数:

ch

管道。

x

分组表达式。

返回值:

管道

示例:

 

A

 

1

=demo.cursor("select EID,GENDER,DEPT,NAME,SALARY from EMPLOYEE").sortx(GENDER,DEPT)

返回游标,游标中的数据对GENDER,DEPT有序。

2

=channel()

创建管道。

3

=A2.group(GENDER,DEPT)

A2管道附加计算,按照GENDER,DEPT分组。

4

=A2.fetch()

A2管道执行结果集函数,保留管道当前数据。

5

=A1.push(A2)

将游标A1中的数据推送到管道A2,此时数据不会立即被推送到管道。

6

=A1.skip()

A1游标执行取数动作,此时数据才会被推送到管道,然后管道执行计算并记录结果。

7

=A2.result()

获取管道计算结果:

 

 

A

 

1

=demo.cursor("select EID,GENDER,DEPT,NAME,SALARY from EMPLOYEE").sortx(DEPT)

返回游标,游标中的数据对DEPT有序。

2

=channel()

创建管道。

3

=channel()

创建管道。

4

=A2.group@1(DEPT)

管道A2附加计算,按照DEPT分组,使用@1选项,取每组的第一条记录组成排列,返回原管道A2

5

=A2.fetch()

A2管道执行结果集函数,保留管道当前数据。

6

=A3.group@i(DEPT=="HR")

管道A3附加计算,按照DEPT分组,使用@i选项,遇到DEPT ==" HR "则开始新的分组,返回原管道A3

7

=A3.fetch()

A3管道执行结果集函数,保留管道当前数据。

8

=A1.push(A2,A3)

将游标A1中的数据推送到管道A2A3,此时数据不会立即被推送到管道。

9

=A1.skip()

A1游标执行取数动作,此时数据才会被推送到管道,然后管道执行计算并记录结果。

10

=A2.result()

获取A2管道计算结果:

11

=A3.result()

获取A3管道计算结果: