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