求助怎么把结果 合并后排序。
发布于 2 年前 作者 zhangxin123456 360 次浏览 来自 问答

MATCH (n1:paper {name:“Deep learning”})-[r1:인용]-(n2)-[r2:인용]-(n3) WITH r1.weight AS sreco,n2.name AS title return title, sreco
UNION MATCH (n1:paper {name:“Deep learning”})-[r1:인용]-(n2)-[r2:인용]-(n3)
WITH r1.weight*r2.weight AS sreco,n3.name AS title return title, sreco

ORDER BY sreco DESC,title ASC

代码如上所示,遍历深度为2 (被链接)的节点名与相连的权重作为评分后 对应排列出来,但深度为2的名字的评分 是第一次和第二次的权重相乘。然后对合并的结果排序。****屏幕截图 2022-02-28 023233.png 结果是乱序的 请问有什么办法可以解决。

3 回复

无法union后orderby

可以参考下面的语句,union语句使用apoc.cypher.run获取结果,然后再使用ORDER BY排序。

CALL apoc.cypher.run('MATCH (n:Person) RETURN n LIMIT 25 UNION MATCH (n:Person) RETURN n SKIP 25 LIMIT 25',{}) YIELD value WITH value.n AS node RETURN node.name AS name,node.born AS born ORDER BY node.born ASC
回到顶部