分组 (Group By)

GROUP BY 类似于 SQL。 只能与 YIELD 语句一起使用。

名称 描述
AVG() 返回参数的平均值
COUNT() 返回记录值总数
COUNT_DISTINCT()) 返回独立记录值的总数
MAX() 返回最大值
MIN() 返回最小值
STD() 返回总体标准差
SUM() 返回总合
BIT_AND() 按位与
BIT_OR() 按位或
BIT_XOR() 按位异或
以上函数只作用于 int64 和 double。

示例

nebula> GO FROM 100 OVER follow YIELD $$.player.name as Name | GROUP BY $-.Name YIELD $-.Name, COUNT(*);
-- 从节点 100 出发,查找其关注的球员并返回球员的姓名作为 Name,按照姓名对球员分组并统计每个分组的人数。
-- 返回以下结果:
================================
| $-.Name           | COUNT(*) |
================================
| Kyle Anderson     | 1        |
--------------------------------
| Tony Parker       | 1        |
--------------------------------
| LaMarcus Aldridge | 1        |
--------------------------------

nebula> GO FROM 101 OVER follow YIELD follow._src AS player, follow.degree AS degree | GROUP BY $-.player YIELD SUM($-.degree);
-- 从节点 101 出发找到其关注的球员,返回这些球员作为 player,边(follow)的属性值作为 degree,对这些球员分组并返回分组球员属性 degree 相加的值。
-- 返回以下结果:
==================
| SUM($-.degree) |
==================
| 186            |
------------------