描述:
针对集群游标中的记录分组,并返回同分布的集群游标。
语法:
cs.groupx(x:F,…;y:G…;n)
备注:
针对集群游标cs,按照x分组后,形成以F,...G,…为字段的集群游标;结果集群游标按分组表达式x排序,G字段值为对每一执行聚合函数y后的结果。
参数:
cs |
集群游标。 |
x |
分组表达式。 |
F |
结果字段名。 |
y |
cs的聚合函数,仅支持sum/count/max/min/top/avg/iterate,使用iterate(x,a;Gi,…)时不能有参数Gi。 |
G |
汇总字段名。 |
n |
缓冲区行数,运算过程中如果分组数达到n,则把分组结果写入临时文件中;n<1时缓冲区用缺省值的n倍;缺省值由集算器自动计算。 |
返回值:
集群游标
|
A |
|
1 |
[192.168.31.72:8281, 192.168.31.72:8291] |
|
2 |
=file("orderpart.ctx":[1], A1) |
|
3 |
=A2.open() |
打开集群组表。 |
4 |
=A3.cursor() |
返回集群游标。 |
5 |
=A4.groupx(EID:ID;count(~):IdCount) |
按EID对A7分组计数,返回集群游标。 |
6 |
=A5.fetch() |
|
7 |
=A3.cursor() |
|
8 |
=A7.groupx(if(EID==4,1,2):ID;count(~):IdCount) |
EID等于4的分到第一组,否则分到第二组,并计算每组EID个数。 |
9 |
=A8.fetch() |
|
10 |
=A7.groupx(if(EID<=10):ID;count(~):IdCount;2) |
运算过程中分组数达到2,则把分组结果写入临时文件中。 |