修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

v5.0
搜索
    v5.0

      聚合函数

      概述

      聚合函数对一组值进行计算,并返回单个值作为结果。

      目前支持纵向聚合,即将来自不同行的一组值聚合成单个值。暂不支持横向聚合,即将来自分组列表值的一组值聚合成单个值。

      DISTINCT

      函数avg()count()max()min()sum()collect_list()stddev_samp()stddev_pop()均支持使用集合量词DISTINCT在聚合前对值去重。

      Null值

      count(*)外,所有聚合函数在计算时会忽略null值所在行。

      示例图集

      以下示例根据该图集运行:

      avg()

      计算一组值的平均值。

      语法 avg(<values>)
      参数 名称 类型 描述
      <values> 数值 目标值
      返回类型 DOUBLE

      MATCH (n)
      RETURN avg(n.score)
      

      结果:

      avg(n.score)
      7.33333333333333

      FOR item IN [2, "a", 3, "1.2", null]
      RETURN avg(item)
      

      结果:

      avg(item)
      3

      collect_list()

      将一组值放入一个列表。

      语法 collect_list(<values>)
      参数 名称 类型 描述
      <values> 任意 目标值
      返回类型 LIST

      MATCH (n)
      RETURN collect_list(n.title)
      

      结果:

      collect_list(n.title)
      ["Optimizing Queries","Efficient Graph Search","Path Patterns"]

      count()

      返回输入中的总行数。

      语法 count(<values>)
      参数 名称 类型 描述
      <values> 任意 目标值
      返回类型 UINT

      MATCH (n)
      RETURN count(n)
      

      结果:

      count(n)
      3

      count(*)

      count(*)返回当前工作表中的总行数。

      对比以下两条查询,能发现仅在使用count(*)时将null值纳入计算范围:

      FOR item IN [1, "a", "2", "b3", null]
      RETURN count(item)
      

      结果:

      count(item)
      4

      FOR item IN [1, "a", "2", "b3", null]
      RETURN count(*)
      

      结果:

      count(*)
      5

      count(DISTINCT)

      可在count()中加入集合量词DISTINCT来返回输入中不同的行数。

      FOR item IN [1, 1, "a", "2", "b3"]
      RETURN count(DISTINCT item)
      

      结果:

      count(DISTINCT item)
      4

      max()

      返回一组值的最大值。

      语法 max(<values>)
      参数 名称 类型 描述
      <values> 数值 目标值
      返回类型 DOUBLE

      MATCH (n)
      RETURN max(n.score)
      

      结果:

      max(n.score)
      9

      FOR item IN [1, "a", "2.1", "b3"]
      RETURN max(item)
      

      结果:

      max(item)
      2

      min()

      返回一组值的最小值。

      语法 min(<values>)
      参数 名称 类型 描述
      <values> 数值 目标值
      返回类型 DOUBLE

      MATCH (n)
      RETURN min(n.score)
      

      结果:

      min(n.score)
      6

      FOR item IN [3, "a", "0.2", "b2"]
      RETURN min(item)
      

      结果:

      min(item)
      0

      percentile_cont()

      计算一组值的连续百分位数。

      语法 percentile_cont(<values>, <percentile>)
      参数 名称 类型 描述
      <values> 数值 目标值
      <percentile> 数值 Number between 0.0 and 1.0
      返回类型 DOUBLE

      percentile_cont()的计算步骤如下:

      • 升序排列各值。
      • 根据公式p = percentile × (n − 1) + 1计算百分位位置,其中n是非null值的总数。
      • 利用线性插值法确定百分位数:
        • p为整数,则位置p的对应点为百分位数。
        • p为介于整数p1p2之间的小数(p1 < p < p2),则在位置p1的值v1和位置p2的值v2之间插值,根据公式v1 + (p - p1) × (v2 - v1)计算百分位数。

      FOR item IN [3, 9, 4, 7, 6]
      RETURN percentile_cont(item, 0.4)
      

      结果:

      percentile_cont(item, 0.4)
      5.2

      FOR item IN [3, 9, 4, 7, 6]
      RETURN percentile_cont(item, 0.5)
      

      结果:

      percentile_cont(item, 0.5)
      6

      percentile_disc()

      计算一组值的离散百分位数。

      语法 percentile_disc(<values>, <percentile>)
      参数 名称 类型 描述
      <values> 数值 目标值
      <percentile> 数值 Number between 0.0 and 1.0
      返回类型 DOUBLE

      percentile_disc()的计算步骤如下:

      • 升序排列各值。
      • 根据公式p = percentile × (n − 1) + 1计算百分位位置,其中n是非null值的总数。
      • 确定百分位数:
        • p为整数,则位置p对应的点为百分位数。
        • p为小数,则抹去p的小数部分取其整数部分p',位置p'对应的点为百分位数。

      FOR item IN [3, 9, 4, 7, 6]
      RETURN percentile_disc(item, 0.4)
      

      结果:

      percentile_disc(item, 0.4)
      4

      FOR item IN [3, 9, 4, 7, 6]
      RETURN percentile_disc(item, 0.5)
      

      结果:

      percentile_disc(item, 0.5)
      6

      stddev_pop()

      计算一组值的总体标准差。

      stddev_pop( x 1 , ...,  x n ) = 1 n i = 1 n ( x i x ) 2
      语法 stddev_pop(<values>)
      参数 名称 类型 描述
      <values> 数值 目标值
      返回类型 数值

      MATCH (n)
      RETURN stddev_pop(n.score)
      

      结果:

      stddev_pop(n.score)
      1.24721912892465

      stddev_samp()

      计算一组值的样本标准差。

      stddev_samp( x 1 , ...,  x n ) = 1 n 1 i = 1 n ( x i x ) 2
      语法 stddev_samp(<values>)
      参数 名称 类型 描述
      <values> 数值 目标值
      返回类型 DOUBLE

      MATCH (n)
      RETURN stddev_samp(n.score)
      

      结果:

      stddev_samp(n.score)
      1.52752523165195

      sum()

      计算一组值的总和。

      语法 sum(<values>)
      参数 名称 类型 描述
      <values> 数值 目标值
      返回类型 DOUBLE

      MATCH (n)
      RETURN sum(n.score)
      

      结果:

      sum(n.score)
      22

      FOR item IN [3, "a", "1.2", "b2"]
      RETURN sum(item)
      

      结果:

      sum(item)
      4
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写