管道中附加相邻值分组动作后返回原管道。
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中的数据推送到管道A2和A3,此时数据不会立即被推送到管道。 |
9 |
=A1.skip() |
A1游标执行取数动作,此时数据才会被推送到管道,然后管道执行计算并记录结果。 |
10 |
=A2.result() |
获取A2管道计算结果: |
11 |
=A3.result() |
获取A3管道计算结果: |