unwind和collect一起使用和单独使用,返回结果为什么不一样?

使用社区版nebula graph 3.8.0版本,看官网文档,聚合函数collect的介绍,这3个计算为啥返回值不一样:

将列表拆分为单独的行。

nebula> UNWIND [1, 2, 1] AS a
RETURN a;
±–+
| a |
±–+
| 1 |
| 2 |
| 1 |
±–+

将列表拆分为单独的行记录后再合并为一个列表返回。

nebula> UNWIND [1, 2, 1] AS a
RETURN collect(a);
±-----------+
| collect(a) |
±-----------+
| [1, 2, 1] |
±-----------+

统计并返回列表中相同元素的数量。

nebula> UNWIND [1, 2, 1] AS a
RETURN a, collect(a), size(collect(a));
±–±-----------±-----------------+
| a | collect(a) | size(collect(a)) |
±–±-----------±-----------------+
| 2 | [2] | 1 |
| 1 | [1, 1] | 2 |
±–±-----------±-----------------+

UNWIND [1, 2, 1] AS a
RETURN a, collect(a), size(collect(a));

这个相当于基于第一个 RETURN a 做聚合了