0

我正在尝试查找我由 jqassistant 创建的图表的查询。但我就是想不通。我的数据如下所示:

我有几个代表工件的节点:(每一行都是一个节点)

名称版本
====================
项目一 001
项目二 001
项目一002
项目二 002
项目一 009
项目一004
项目一 029
项目二 003
项目二 010

我的查询应该返回的是两个节点:

项目一 029
项目二 010

所以我想要这个节点的最新版本,名称不同。我知道如何使用 DISTINCT 和 ORDER BY,但我只是不知道如何将这两者结合起来以获得所需的输出。有任何想法吗?

我的最终目标是标记最新版本。然后我想指出每个最新的工件,它们依赖于未标记为最新的工件。

实现这一目标的另一个可能的解决方案是创建一个前身链。那么每个没有传入前任的工件都将是最新版本。但这意味着与我选择最新的问题相同的问题。

4

1 回答 1

2

假设所有相关节点都有Foo标签,查询很简单:

MATCH (n:Foo)
RETURN n.name, MAX(n.version);

聚合函数查找每个不同名称的MAX最大版本。

于 2016-03-30T18:19:49.270 回答