avg聚合函数

适用于:检查标记是的砖的SQL检查标记是的砖运行时

返回均值计算的一组值。这个函数是同义词意思是聚合函数

语法

avg((所有|截然不同的]expr)(过滤器(在哪里气孔导度)]

这个函数也可以作为一个调用窗口函数使用条款。

参数

  • expr:一个表达式,计算一个数字或一个区间。

  • 气孔导度:一个可选的布尔表达式过滤行用于聚合。

返回

计算结果类型的参数:

  • 小数(p,s):结果类型是一个小数(p + 4, s + 4)”。如果达到最大精度小数的增加规模将是有限的,以避免损失的有效数字。

  • year-month间隔:是一个结果时间间隔一年

  • 白天间隔:是一个结果时间间隔一天第二个

  • 在所有其他情况下,结果是一个双。

null集团内部被忽略。如果一组是空的或只包含NULL,结果是零。

如果截然不同的指定的平均计算后副本已被移除。

如果结果溢出的结果类型,砖提出了一个ARITHMETIC_OVERFLOW错误。返回一个NULL代替使用try_avg

警告

在砖运行时,如果spark.sql.ansi.enabled,一个溢出的回报而不是一个错误。

例子

>选择avg(上校)(1),(2),(3)作为选项卡(上校);20>选择avg(截然不同的上校)(1),(1),(2)作为选项卡(上校);15>选择avg(上校)(1),(2),()作为选项卡(上校);15>选择avg(上校)(时间间隔' 1 '一年),(时间间隔' 2 '一年)作为选项卡(上校);1- - - - - -6——溢出导致零try_avg ()>选择try_avg(上校)(5e37::小数(38,0)),(5e37::小数(38,0))作为选项卡(上校);——溢出导致ANSI误差avg()模式。>选择avg(上校)(5e37::小数(38,0)),(5e37::小数(38,0))作为选项卡(上校);错误:CANNOT_CHANGE_DECIMAL_PRECISION