avg
聚合函数
适用于:砖的SQL砖运行时
返回均值计算的一组值。这个函数是同义词意思是聚合函数。
返回
计算结果类型的参数:
小数(p,s)
:结果类型是一个小数(p + 4, s + 4)”。如果达到最大精度小数的增加规模将是有限的,以避免损失的有效数字。year-month间隔:是一个结果
时间间隔一年来月
。白天间隔:是一个结果
时间间隔一天来第二个
。在所有其他情况下,结果是一个双。
null集团内部被忽略。如果一组是空的或只包含NULL,结果是零。
如果截然不同的
指定的平均计算后副本已被移除。
如果结果溢出的结果类型,砖提出了一个ARITHMETIC_OVERFLOW错误。返回一个NULL代替使用try_avg。
警告
在砖运行时,如果spark.sql.ansi.enabled是假
,一个溢出的回报零
而不是一个错误。
例子
>选择avg(上校)从值(1),(2),(3)作为选项卡(上校);2。0>选择avg(截然不同的上校)从值(1),(1),(2)作为选项卡(上校);1。5>选择avg(上校)从值(1),(2),(零)作为选项卡(上校);1。5>选择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