我想给条件优先顺序,比如有3个条件要匹配,我想要总共20个结果然后首先它匹配第一个条件,如果它给出20个结果,那么其他条件不匹配,如果第一个条件给出小于20个结果然后匹配第二个条件,如果第一个和第二个条件结果的总和大于20,那么它给出前20个结果并且不匹配第三个条件,并且第三个条件也会发生相同的结果.如果所有匹配都没有给出20个结果,那么它将3个条件的结果组合起来并添加一些随机结果使其成为20. 最佳答案 我想我明白你想要什么.这样的事情怎么样?
OPTIONAL MATCH (node:Label)
WHERE node.a = 1
WITH collect(node) AS set1
OPTIONAL MATCH (node:Label)
WHERE node.a = 2
WITH set1 + collect(node) AS set2
OPTIONAL MATCH (node:Label)
WHERE node.a = 3
WITH set2 + collect(node) AS set3
UNWIND set3 AS node
RETURN node
LIMIT 20