我想在此question中执行与用户非常相似的操作,即对集合中的元素进行排序。但是,与该问题中的用例不同,我的收藏品未分类。
所以要使用该问题的例子:
```MATCH (node:node) - [:has] -> (scores)
WITH node
ORDER BY node.created DESC
RETURN count(node.name) AS count, node.name, collect(node.created) AS created
count node.name created
3 "name1" [1410234609620,1410234606534,1410234506799]
1 "name2" [1410234434936]
1 "name3" [1410234454573]
2 "name4" [1410463902552,1410460561481]
1 "name5" [1410234485185]
2 "name6" [1410234548527,1410234525740]
```
接受的答案是:
MATCH (node:node)
WITH node
ORDER BY node.created DESC
WITH count(node.name) AS count, node.name as name, collect(node.created) AS created
WITH count, name, head(created) as timeSort, created
RETURN count, name, created
ORDER BY timeSort DESC
当集合已经排序时,获取头(已创建)将返回正确的结果。我的不是。有没有办法在调用head之前对该集合进行排序?
答案 0 :(得分:1)
要对集合进行排序,您可以使用UNWIND + ORDER BY
UNWIND coll as x
WITH x ORDER BY x.foo
RETURN collect(x);