排序

阅读(2) 标签: 排序, 升序, 降序,

焦点表

语法:

{<计算式> [方向]}  [空值] [原序] [语言]

参数:计算式

本参数要排序的计算式,最简单的计算式是单字段。必要参数;类型是计算式;必须省略参数名,省略参数值时表示参数值是上下文中的焦点列。一般与参数"方向"成对使用,表示对某字段按某方向排序,支持这样的多对参数,这表示依次排序。本参数不支持跨行计算和聚合计算,即计算式里不能含有F[i]F[a:b]形式的相对位置计算,也不能有集合的求和、平均等聚合计算。

参数:方向

排序的方向。非必要参数;枚举类型,枚举值有(升序|从小到大)|(降序|从大到小);必须省略参数名,缺省的参数值是升序|从小到大。注意,必须与参数""同时使用。

例子:

将订单例子表按ClientID的升序,Amount量的降序进行排序。

排序 ClientID, Amount量 降序

结果:

OrderID  ClientID  SellerId  Amount  OrderDate

136  ARO 25  899.0  2024-09-23

16  BDR 27  2464.8  2022-04-30

81  BDR 29  1168.0  2023-08-25

108  BDR 12  480.0  2024-04-03

139  BDR 30  166.0  2024-10-11

参数:空值

排序时可以选择把null值排到最前面或最后面。非必要参数,缺省由系统配置;枚举类型;必须省略参数名,不能省略参数值。有两个枚举值:

- 最前  表示把null值排在最前面

- 最后 表示把null值排在最后面

例子:

对订单例子表按ClientID排序,空的ClientID排到最后

NLC:排序 ClientID; 最后

参数:原序

将记录按照某列的原列值出现的先后顺序进行排序。非必要参数,没有该参数时表示按某列的列值的大小进行排序(即通常意义上的排序);布尔类型,不能省略参数名,必须省略参数值。有参数"原序"时,参数"方向"无意义。

下面对比说明有无该参数时的区别。

例子:

地区表在排序前如下:

c1  f1  f2  f3

1 中国 

2 中国  河南 

3 中国  河北 

4 中国  河南  洛阳

5 中国  河北  廊坊

6 中国  河北  沧州

7 中国  河南  洛阳

8 中国  河北 

9 中国  河北  沧州

 

假如按f2的升序排序,河北(Hebei)会在河南(henan)

NLC:排序 f2

结果:

排序 f2  //说明,f2升序排序,河北(Hebei)在河南(henan)之前

c1  f1  f2  f3

1 中国 

3 中国  河北 

5 中国  河北  廊坊

6 中国  河北  沧州

8 中国  河北 

9 中国  河北  沧州

2 中国  河南 

4 中国  河南  洛阳

7 中国  河南  洛阳

 

假如按f2的原序排序,河南会在河北之前:

NLC:排序 f2 原序

结果:

c1  f1  f2  f3

1 中国 

2 中国  河南 

4 中国  河南  洛阳

7 中国  河南  洛阳

3 中国  河北 

5 中国  河北  廊坊

6 中国  河北  沧州

8 中国  河北 

9 中国  河北  沧州

 

如果按f2,f3的原序排序,

NLC:排序 f2, f3 原序

结果:

c1  f1  f2  f3

1 中国 

2 中国  河南 

4 中国  河南  洛阳

7 中国  河南  洛阳

3 中国  河北 

8 中国  河北 

5 中国  河北  廊坊

6 中国  河北  沧州

9 中国  河北  沧州

 

参数:语言

指定排序中的字符串的语言。非必要参数,无此参数时缺省用本地语言;字串类型;参数名不能省略。

例子:

排序的字段是英语。

NLC:排序 ClientID; 语言 en  //常用的语言还有zh(中文)ja_JP(日文)等。