带有子选择的Neo4j密码查询
我正在尝试查找由jqassistant创建的图形的查询。但我就是不明白。我的数据如下所示: 我有几个节点代表一个工件:(每一行都是一个节点) 名称版本 =================== 项目一001 项目二001 项目一002 项目二002 项目一009 项目一004 项目一029 项目二003 项目二010 我的查询应该返回两个节点: projectOne 029 projectTwo 010 项目一029 项目二010 因此,我希望此节点的最新版本名称不同。我知道如何使用DISTINCT和ORDERBY,但我就是不知道如何将这两者结合起来以获得所需的输出。有什么想法吗 我的最终目标是标记最新版本。然后我想指出每一个最新的工件,它们依赖于未标记为最新的工件带有子选择的Neo4j密码查询,neo4j,cypher,jqassistant,Neo4j,Cypher,Jqassistant,我正在尝试查找由jqassistant创建的图形的查询。但我就是不明白。我的数据如下所示: 我有几个节点代表一个工件:(每一行都是一个节点) 名称版本 =================== 项目一001 项目二001 项目一002 项目二002 项目一009 项目一004 项目一029 项目二003 项目二010 我的查询应该返回两个节点: projectOne 029 projectTwo 010 项目一029 项目二010 因此,我希望此节点的最新版本名称不同。我知道如何使用DISTI
实现这一目标的另一个可能的解决方案是创建一个前辈链。那么,没有传入前辈的每个工件都将是最新版本。但这与我选择最新节点时遇到的问题相同。假设所有相关节点都有
Foo
标签,查询非常简单:
MATCH (n:Foo)
RETURN n.name, MAX(n.version);
MAX
聚合函数查找每个不同名称的最大版本。假设所有相关节点都有Foo
标签,查询非常简单:
MATCH (n:Foo)
RETURN n.name, MAX(n.version);
MAX
聚合函数为每个不同的名称查找最大版本。Oh。看起来很容易。今晚晚些时候我会尝试一下,如果有效的话,我会记下答案。提前谢谢。很好很简单的解决方案!请注意,只有当您的工件的版本属性创建了一个自然的顺序时,这才有效,也就是说,如果您使用另一个版本控制方案,如1.10.0,那么可能会出现问题。看起来很容易。今晚晚些时候我会尝试一下,如果有效的话,我会记下答案。提前谢谢。很好很简单的解决方案!请注意,只有当工件的version属性创建了一个自然顺序时,这才有效,也就是说,如果您使用另一个版本控制方案,如1.10.0,则可能会出现问题。