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