cs.groupx()

阅读(514) 标签: 集群游标, 记录, 分组,

描述:

针对集群游标中的记录分组,并返回同分布的集群游标。

语法:

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)

EIDA7分组计数,返回集群游标。

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,则把分组结果写入临时文件中。