首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Xquery中使用简单映射运算符返回的元素进行排序

对Xquery中使用简单映射运算符返回的元素进行排序
EN

Stack Overflow用户
提问于 2021-03-25 15:35:42
回答 1查看 58关注 0票数 0

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

代码语言:javascript
复制
(1,7,2,4,5)!(.)

上面的代码将返回1,7,2,4,5作为sequence.But,我需要这些值按升序排序。

这个映射操作符可以使用order by吗?如果可以,请分享一个例子来做同样的事情。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-03-25 22:20:58

不幸的是,MarkLogic目前不支持fn:sort()

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

代码语言:javascript
复制
for $i in (1,7,2,4,5) 
order by $i 
return $i

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

代码语言:javascript
复制
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包装该FLWOR。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66795005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档