我正在尝试使用简单的映射运算符(!),如下所示
(1,7,2,4,5)!(.)
以上将返回 1,7,2,4,5 作为序列。但我需要按升序对值进行排序。
是否可以通过此映射运算符使用 order by?如果可以,请分享一个示例来做同样的事情。
谢谢!
我正在尝试使用简单的映射运算符(!),如下所示
(1,7,2,4,5)!(.)
以上将返回 1,7,2,4,5 作为序列。但我需要按升序对值进行排序。
是否可以通过此映射运算符使用 order by?如果可以,请分享一个示例来做同样的事情。
谢谢!
不幸的是,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
.