sortx()

阅读(514) 标签: sortx,

本章介绍sortx()的多种用法。

ch.sortx()

描述:

对管道中的成员排序

语法:

ch.sortx(x,…)

备注:

根据xch管道排序,返回成管道。

该函数为结果集函数。

参数:

ch

管道

x

表达式,根据管道ch的成员升序排序

返回值:

管道

示例:

 

A

 

1

=demo.cursor("select EID,NAME,DEPT,SALARY from EMPLOYEE order by EID desc")

返回取数游标

2

=channel()

创建管道

3

=A2.sortx(SALARY,EID)

根据字段SALARY,EID对管道成员排序

4

=A1.push(A2)

将游标A1中的数据推送到管道A2

5

=A1.fetch()

A1游标中取数

6

=A2.result()

结果返回成游标

7

=A6.fetch()

cs.sortx()

描述:

对游标排序

语法:

cs.sortx(x,…;n)

 

备注:

根据xcs游标排序,返回成游标。

参数:

cs

游标

x

表达式,根据游标cs的成员升序排序

n

缓冲区行数,运算过程中如果分组数达到n,则把分组结果写入临时文件中;n<1时缓冲区用缺省值的n倍;缺省值由集算器自动计算

选项:

@0

将值为null的数据排在最后;@0@n不能一起使用

@n

提高效率x返回值是正整数时才可用该选项,可以直接用序号定义;@0@n不能一起使用

@g

参数n解释为分段表达式,先根据表达式n分段,分段后再排序

返回值:

游标

示例:

 

A

 

1

=demo.cursor("select NAME,BIRTHDAY,HIREDATE from Employee")

返回取数游标

2

=A1.sortx(BIRTHDAY)

对游标中的BIRTHDAY字段排序

3

=A2.fetch()

A2游标中取数

4

=demo.cursor("select * from DEPT")

返回取数游标

5

=A4.sortx@0(FATHER).fetch()

对游标中的FATHER字段排序,并且将值为null的数据排在最后

6

=A4.sortx@g(DEPTID;FATHER==12).fetch()

FATHER==12的数据为一组,其它数据为另一组,先根据FATHER==12分组后,再组内根据DEPTID排序

7

=A1.sortx(BIRTHDAY;2)

对游标中的BIRTHDAY排序,运算过程中分组数达到2,分组结果写入临时文件中

8

=demo.cursor("select * from SCORES")

 

9

=A8.sortx@n(SCORE).fetch()

SCORE字段返回值是正整数,可以使用选项@n提高排序效率

cs.sortx()

描述:

对集群游标排序

语法:

cs.sortx(x,…;n)

备注:

集群游标cs根据x排序,返回集群游标。

选项:

@c

分机结果间不再归并,返回成集群游标,继承分布方式

参数:

cs

集群游标

x

表达式,根据集群游标cs的成员升序排序

n

缓冲区行数,运算过程中如果分组数达到n,则把分组结果写入临时文件中;n<1时缓冲区用缺省值的n倍;缺省值由集算器自动计算

返回值:

集群游标

示例:

 

A

 

1

[192.168.0.110:8281,192.168.18.143:8281]

 

2

=file("emp.ctx":[1,2], A1)

 

3

=A2.open()

打开集群组表文件

4

=A3.cursor()

返回集群游标

5

=A4.sortx(EID)

将集群游标根据EID排序,结果返回集群游标