|| apoc.agg.maxItems - APOC 核心文档 - Neo4j 文档

apoc.agg.maxItems

详情

语法

apoc.agg.maxItems(item, value [, groupLimit ])

描述

返回一个 MAP {items: LIST<ANY>, value: ANY},其中 value 键是存在的最大值,items 代表所有具有相同值的项。项列表的大小可以限制在给定的最大值。

参数

名称

类型

描述

item

ANY

要聚合的值。

value

ANY

从中选择最大值的值。

groupLimit

INTEGER

返回项数量的限制。默认值为:-1

返回

ANY

使用示例

本节示例基于以下人物及其出生日期的示例图

CREATE (:Person {name: "Christopher Nolan", dateOfBirth: date("1970-07-30")});
CREATE (:Person {name: "Tom Cruise", dateOfBirth: date("1962-07-03")});
CREATE (:Person {name: "Nicole Kidman", dateOfBirth: date("1967-06-20")});
CREATE (:Person {name: "Matt Damon", dateOfBirth: date("1970-10-08")});
CREATE (:Person {name: "Jennifer Connelly", dateOfBirth: date("1970-12-12")});

您可以通过运行以下查询来收集出生年份最大的人物

MATCH (p:Person)
WITH apoc.agg.maxItems(p, p.dateOfBirth.year) AS maxItems
RETURN maxItems.value AS value, maxItems.items AS items;
结果
value

1970

[(:Person {name: "Christopher Nolan", dateOfBirth: 1970-07-30}), (:Person {name: "Matt Damon", dateOfBirth: 1970-10-08}), (:Person {name: "Jennifer Connelly", dateOfBirth: 1970-12-12})]

您可以设置 groupLimit(第三个参数)来限制返回的项数量

MATCH (p:Person)
WITH apoc.agg.maxItems(p, p.dateOfBirth.year, 2) AS maxItems
RETURN maxItems.value AS value, maxItems.items AS items;
结果
value

1970

[(:Person {name: "Christopher Nolan", dateOfBirth: 1970-07-30}), (:Person {name: "Matt Damon", dateOfBirth: 1970-10-08})]

© . This site is unofficial and not affiliated with Neo4j, Inc.