apoc.agg.minItems

详细信息

语法

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

描述

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

参数

名称

类型

描述

item

ANY

要聚合的值。

ANY

从中选择最小值的项。

groupLimit

INTEGER(整数)

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

返回

ANY

使用示例

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

CREATE (:Person {name: "Tom Hanks", dateOfBirth: date("1956-07-09")});
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: "Carrie Fisher", dateOfBirth: date("1956-10-21")});
CREATE (:Person {name: "Bryan Cranston", dateOfBirth: date("1956-03-07")});

你可以通过运行以下查询来收集出生年份最小的人员

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

1956

[(:Person {name: "Tom Hanks", dateOfBirth: 1956-07-09}), (:Person {name: "Carrie Fisher", dateOfBirth: 1956-10-21}), (:Person {name: "Bryan Cranston", dateOfBirth: 1956-03-07})]

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

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

1956

[(:Person {name: "Tom Hanks", dateOfBirth: 1956-07-09}), (:Person {name: "Carrie Fisher", dateOfBirth: 1956-10-21})]