首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用AQL按排序指标抵消限制?

如何用AQL按排序指标抵消限制?
EN

Stack Overflow用户
提问于 2020-02-27 01:34:50
回答 1查看 154关注 0票数 0

我有一个member的文档集合,它有两个相关的属性:_keyscore。我还在persistent字段上创建了一个score索引,因为这将大大加快排序速度。我想编写一个AQL查询,该查询根据特定成员的排序索引(称为A)返回不同的结果:

  • 总是至少返回score前5位成员。(LIMIT 5)
  • If A是前10名,返回6-10排名的成员.(LIMIT 5, 5)
  • Otherwise,直接返回A级以上和以下的成员。(LIMIT x - 1, 3,x=A秩)
EN

回答 1

Stack Overflow用户

发布于 2020-02-27 08:44:26

我无法在一个查询中做到这一点,但是我能够通过执行以下操作来获取成员的级别

代码语言:javascript
运行
复制
RETURN LENGTH(
  FOR m IN members
    FILTER m.score > DOCUMENT("members", "ID").score
    RETURN 1
) + 1

然后使用第二个查询来获取我想要的排名数据,如下所示

代码语言:javascript
运行
复制
  FOR m IN members
    SORT m.score DESC LIMIT 10
    RETURN m

或者根据排名的不同,将两个子查询与LIMIT 5LIMIT rank - 2, 3连接起来。

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

https://stackoverflow.com/questions/60425099

复制
相关文章

相似问题

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