project-reorder 运算符

对结果输出中的列重新排序。

T | project-reorder Col2, Col1, Col* asc

语法

T| project-reorderColumnNameOrPattern [asc | desc | granny-asc | granny-desc] [, ...]

参数

  • T:输入表。
  • ColumnNameOrPattern:添加到输出中的列或列通配符模式的名称。
  • 对于通配符模式:指定 ascdesc 会使用列名按升序或降序方式对列排序。 此外,granny-ascgranny-desc 关键字表示升序或降序,其顺序取决于数字值(例如,如果指定 granny-asc,则 a100 排在 a20 之前)。如果未指定显式排序,则顺序取决于源表中显示的匹配列。

注意

  • 在 ColumnNameOrPattern 模糊匹配中,该列出现在与模式匹配的第一个位置。
  • project-reorder 指定列是可选操作。 未显式指定的列将显示为输出表的最后一列。
  • 若要删除列,请使用 project-away
  • 若要选择要保留的列,请使用 project-keep
  • 若要重命名列,请使用 project-rename

返回

一张表,其中包含按运算符参数指定的顺序排列的列。 project-reorder 不会重命名或删除表中的列,因此,源表中存在的所有列都将出现在结果表中。

示例

对包含三列 (a, b, c) 的表重新排序,使第二列 (b) 显示在最前面。

print a='a', b='b', c='c'
|  project-reorder b
b a c
b a c

对表中的列重新排序,使以 a 开头的列显示在其他列之前。

print b = 'b', a2='a2', a3='a3', a1='a1'
|  project-reorder a* asc
a1 a2 a3 b
a1 a2 a3 b