在NEO4j中,我的查询中有一行使用了cypher:
"WITH *, collect(human.name) as sample"
这会产生如下结果:回答
BobSallyBobBobSally我想去掉重复的部分,这样答案就会产生:回答
BobSally我该如何着手做这件事呢?下面的代码行实现了我想要的结果,但它不允许我在返回之后继续编写其他查询行,因为“只能在查询的最后一行使用返回”。
RETURN DISTINCT sample
nom7f22z1#
正如您提到的,DISTINCT可以完成这项工作,请使用:
DISTINCT
WITH collect(DISTINCT human.name) as sample
例如,对于示例数据:
MERGE (a:Human{name: "Bob", key: 1})MERGE (c:Human{name: "Sally", key: 2})MERGE (b:Human{name: "Bob", key: 3})MERGE (d:Human{name: "Bob", key: 4})MERGE (e:Human{name: "Sally", key: 5})
MERGE (a:Human{name: "Bob", key: 1})
MERGE (c:Human{name: "Sally", key: 2})
MERGE (b:Human{name: "Bob", key: 3})
MERGE (d:Human{name: "Bob", key: 4})
MERGE (e:Human{name: "Sally", key: 5})
和查询:
MATCH (human:Human)WITH COLLECT (DISTINCT human.name) as samplereturn sample
MATCH (human:Human)
WITH COLLECT (DISTINCT human.name) as sample
return sample
回应是:
╒═══════════════╕│"sample" │╞═══════════════╡│["Bob","Sally"]│└───────────────┘
╒═══════════════╕
│"sample" │
╞═══════════════╡
│["Bob","Sally"]│
└───────────────┘
1条答案
按热度按时间nom7f22z1#
正如您提到的,
DISTINCT
可以完成这项工作,请使用:例如,对于示例数据:
和查询:
回应是: