使用Arango AQL(Arango Query Language)语句,借助LIMIT子句来找到每个组中前N个条目。假设数据存储在名为“myCollection”的集合中,每个记录都有一个属性“group”,表示该记录所属的组。现在要查询每个组中最近的3个记录。
代码示例:
FOR doc IN myCollection
SORT doc.timestamp DESC // 根据时间戳排序
COLLECT group = doc.group INTO docs // 将相同组的记录集合在一起
LET topN = SLICE(docs, 0, 3) // 取每个组中前3个条目
RETURN topN // 返回每个组中前3个条目
解释:
该查询首先通过SORT子句按记录中的时间戳字段倒序排序。然后使用COLLECT子句将相同组的记录group在一起,并将它们存储在一个名为“docs”的数组中。最后,使用SLICE子句从数组的头部取出前三个元素,存储在名为“topN”的变量中。最后,向Arango数据库返回变量“topN”,即每个组中前三个记录。