0

我正在尝试使用简单的映射运算符(!),如下所示

(1,7,2,4,5)!(.)

以上将返回 1,7,2,4,5 作为序列。但我需要按升序对值进行排序。

是否可以通过此映射运算符使用 order by?如果可以,请分享一个示例来做同样的事情。

谢谢!

4

1 回答 1

1

不幸的是,fn:sort()目前在 MarkLogic 中不可用。

正如 Martin Honnen 所建议的,实现您想要的最简单的方法可能是 FLWOR。

for $i in (1,7,2,4,5) 
order by $i 
return $i

functx 库已安装并在 MarkLogic 中可用,因此您可以利用functx:sort()

xquery version "1.0-ml";
import module namespace functx = "http://www.functx.com" 
  at "/MarkLogic/functx/functx-1.0-nodoc-2007-01.xqy";
(1,7,2,4,5) => functx:sort()

或者,您可以创建自己的自定义函数,用order by.

于 2021-03-25T14:20:58.440 回答