希望得到一些帮助。
具有以下查询:
MATCH (a:Academy)-[]-(w:Work)
RETURN collect(distinct a.name)as Associated_academies_for_this_book,w.shortTitle as
book_short_title, w.workId as Book_ID order by size(collect(distinct a.name)) desc
使用此输出:结果查询
我只需要返回第一列(由collect(distinct a.name(生成的列(的列表中有1个以上元素的结果,我尝试了count(collect(>1和类似的东西,但没能得到我需要的东西。有什么想法吗?
非常感谢
您可以使用size
MATCH (a:Academy)-[]-(w:Work)
WITH collect(distinct a.name) as Associated_academies_for_this_book, w.shortTitle as book_short_title, w.WorkID as Book_ID
WHERE size(Associated_academies_for_this_book)>1
RETURN book_short_title, Book_ID
或
您可以使用文档中引用的count
,聚合与*
一起使用,这应该会为您提供引用。
MATCH (a:Academy)-[]-(w:Work)
WITH collect(distinct a.name) as Associated_academies_for_this_book,
w.shortTitle as book_short_title, w.workId as Book_ID, count (*) as occ
WHERE occ>1
RETURN occ, Associated_academies_for_this_book, book_short_title, Book_ID
第二个步骤将此信息存储为occ
变量,并将WITH
语句中的其他相关列作为中间步骤,如果需要,可以在稍后的RETURN
语句中使用它。您可以使用size
或count
聚合。